2014-01-31 2 views
1

Как мне назвать класс из строки? Пример.Call Class from String - Java

String choice; 
System.out.print("Enter your movie name:") 
String=sc.nextString(); 

if(String=="MyMovie") 
{ 

Могу ли я использовать:

choice.main(null); 
} 
+1

Я понятия не имею, что вы пытаетесь сделать здесь. Кроме того, похоже, что вы пропустили код. –

+2

У меня такое чувство, что вы хотите использовать значение в 'choice' как имя класса, и вы хотите вызвать основной метод этого класса. Я прав? – SudoRahul

+1

Я думаю @ Ɍ.Ɉ прав. Как правило, если вам нужен такой шаблон, ваш дизайн неправильный (вы путаете классы с объектами). –

ответ

1

Вы не должны вызвать класс из строки, а метод в зависимости от строки в параметре.

Например

if("MyMovie".equals(myString)) 
{ 
    myclass.method(); 
} 

Осторожно используйте "равно" для сравнения строк, а не "==".

Если вам нужно создать объект, вы должны его создать или создать метод, который вы хотите вызвать static. Я бы предположил, что, поскольку вы пытаетесь назвать «основной», вы хотите, чтобы вызвать статический метод из другого класса, и в этом случае все, что вам нужно сделать, это

MyClass.myMethod() 

Честно говоря, я думаю, вы должны сначала посмотрите на java-учебник.

4

Попробуйте этот код.

String choice; 
System.out.print("Enter your movie name:") 
choice = sc.nextString(); 
if(choice.equals("MyMovie")) { 
    //do something but not choice.main(null) 
} 
+2

хороший способ сказать это :) –

+2

Hm. 'equalsTo' должно быть,' равно '? – Dirk

+0

yup .... извините, это было в середине объектного программирования c (isEqualsTo) – Dima