L
lexluther
Всем привет,
Помогите мне пожалуйста решить проблему с нововведениями в Java 1.6. Я пытаюсь реализовать аннотацию но она не работает.
Есть следующий класс (NewClassAttribute.java):
package myjavaapplication;
@interface NewClassAttribute {
String value();
}
Есть класс (NewClass.java):
package myjavaapplication;
@NewClassAttribute("NewClass")
public class NewClass
{
public NewClass()
{}
@Override
public void finalize()
{}
}
Есть класс main который делает получение аттрибута:
package myjavaapplication;
import static java.lang.System.out;
import static java.lang.System.in;
public class Main {
public static void main(String[] args) {
NewClass NC = new NewClass();
out.print(NC.getClass().getAnnotation(NewClassAttribute.class).value());
}
}
Т.е. я хочу вывести на вывод значение аттрибута "NewClass". Вроде код правильный, но он не работает так как постоянно вылетает Exception in thread "main" java.lang.NullPointerException
Вообщем NC.getClass().getAnnotation(NewClassAttribute.class) возвращает всегда null
NewClass.class.getAnnotation(NewClassAttribute.class).value() аналогично не работает.
Помогите пожалуйста, подскажите что я делаю неправильно.
PS: Также к примеру у меня аналогичные проблемы с энумерацией:
public enum NewClass
{
RED(20)
{
public NewClass next()
{
return RED;
}
}
}
Этот код просто не компилится (взят из учебника). Тогда как код:
public enum NewClass
{
RED
{
public NewClass next()
{
return RED;
}
}
}
компилится. Подскажите мне пожалуйста где есть небольшой но подробный справочник по нововведениям в сети?
Версия ОС:
Windows XP Service Pack 3
Версия JAVA (java -version):
java version "1.6.0"
Java(tm) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(tm) Client VM (build 1.6.0-b105, mixed mode, sharing)
Среда разработки (About окно):
Product Version: NetBeans IDE 6.1 (Build 200805300101)
Java: 1.6.0; Java HotSpot(tm) Client VM 1.6.0-b105
System: Windows XP version 5.1 running on x86; Cp1251; uk_UA (nb)
Userdir: G:\Documents and Settings\artiom\.netbeans\6.1
Помогите мне пожалуйста решить проблему с нововведениями в Java 1.6. Я пытаюсь реализовать аннотацию но она не работает.
Есть следующий класс (NewClassAttribute.java):
package myjavaapplication;
@interface NewClassAttribute {
String value();
}
Есть класс (NewClass.java):
package myjavaapplication;
@NewClassAttribute("NewClass")
public class NewClass
{
public NewClass()
{}
@Override
public void finalize()
{}
}
Есть класс main который делает получение аттрибута:
package myjavaapplication;
import static java.lang.System.out;
import static java.lang.System.in;
public class Main {
public static void main(String[] args) {
NewClass NC = new NewClass();
out.print(NC.getClass().getAnnotation(NewClassAttribute.class).value());
}
}
Т.е. я хочу вывести на вывод значение аттрибута "NewClass". Вроде код правильный, но он не работает так как постоянно вылетает Exception in thread "main" java.lang.NullPointerException
Вообщем NC.getClass().getAnnotation(NewClassAttribute.class) возвращает всегда null
NewClass.class.getAnnotation(NewClassAttribute.class).value() аналогично не работает.
Помогите пожалуйста, подскажите что я делаю неправильно.
PS: Также к примеру у меня аналогичные проблемы с энумерацией:
public enum NewClass
{
RED(20)
{
public NewClass next()
{
return RED;
}
}
}
Этот код просто не компилится (взят из учебника). Тогда как код:
public enum NewClass
{
RED
{
public NewClass next()
{
return RED;
}
}
}
компилится. Подскажите мне пожалуйста где есть небольшой но подробный справочник по нововведениям в сети?
Версия ОС:
Windows XP Service Pack 3
Версия JAVA (java -version):
java version "1.6.0"
Java(tm) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(tm) Client VM (build 1.6.0-b105, mixed mode, sharing)
Среда разработки (About окно):
Product Version: NetBeans IDE 6.1 (Build 200805300101)
Java: 1.6.0; Java HotSpot(tm) Client VM 1.6.0-b105
System: Windows XP version 5.1 running on x86; Cp1251; uk_UA (nb)
Userdir: G:\Documents and Settings\artiom\.netbeans\6.1