2012-08-02 3 views
0

Я создаю объект класса, чтобы начать новое действие. Но проблема в том, когда я печатаюНевозможно создать объект «Класс»

Class ourclass = new Class.__ 

Он не признает класса, и я не могу использовать методы «класса» супер-класса. Он говорит, что класс является сырым типом. Какой тип я должен назначить, потому что я хочу использовать метод «forName()», в котором я хочу передать имя класса. Вот код

protected void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(l, v, position, id); 
    try 
    { 
     Class ourclass =Class.__ // The suggestions for static functions doesn't popup, and I get errors 
     //Intent myintent = new Intent(); 
    } 
    catch(ClassNotFoundException e) 
    { 
     e.printStackTrace(); 
    } 

} 
} 

С уважением.

+0

Вы должны позволить JVM создать для вас класс, поскольку объект является прокси-сервером для внутренних структур данных для класса. –

ответ

3

Какой тип я должен назначить, потому что я хочу использовать метод «forName()», в котором я хочу передать имя класса.

Class.forName является статический метод - вы не вызываете его на примере:

Class<?> ourClass = Class.forName("foo.bar.Baz"); 

(Является ли это на самом деле подходит или нет при запуске активности другое дело, но это ответ просто адресован Class.forName part ...)

+0

Итак, я передал Class.forName() непосредственно в качестве аргумента функции, предложенной вами, но все же она дает мне ту же ошибку, Type not Resolved .. –

+0

Это не похоже на ту же ошибку, что и «класс является сырым тип". Пожалуйста, отредактируйте свой вопрос с помощью * точного * кода и * точного * сообщения об ошибке. –

0

Если вы хотите использовать Class.forName, просто позвоните Class.forName(name), не используйте конструктор (несуществующий). forName - статический метод, поэтому вам не нужен Class, чтобы вызвать его.

Смежные вопросы