Поле TYPE класса ElementType
Поле TYPE класса ElementType представляет собой
константу перечисления, которая используется в аннотации
Target. Оно указывает, что аннотация может быть
применена к объявлению типа: классу, интерфейсу, перечислению
или аннотации. При использовании этого поля в качестве
параметра в @Target компилятор разрешает размещать
аннотацию только перед объявлением типа, но не перед методами,
полями или параметрами.
Синтаксис
ElementType.TYPE
Пример
Давайте создадим аннотацию, которая может быть применена только к типам, и используем её:
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
@interface MyAnnotation
{
}
@MyAnnotation
public class Main
{
public static void main(String[] args)
{
System.out.println("Annotation applied to type");
}
}
Результат выполнения кода:
"Annotation applied to type"
Пример
Давайте проверим, что аннотация с TYPE
не может быть применена к методу:
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
@interface MyAnnotation
{
}
public class Main
{
@MyAnnotation
public void myMethod()
{
}
public static void main(String[] args)
{
System.out.println("Error");
}
}
В результате компиляции возникнет ошибка, так как
аннотация с ElementType.TYPE не может быть
применена к методу.
Смотрите также
-
класс
ElementType,
который содержит типы элементов аннотаций -
аннотацию
Target,
которая задаёт область применения аннотации -
поле
FIELD,
которое указывает на применение к полям -
поле
METHOD,
которое указывает на применение к методам