Поле METHOD класса ElementType
Поле METHOD класса ElementType используется
в аннотации @Target и указывает, что аннотация
может быть применена к объявлению метода. Это поле
представляет собой константу перечисления ElementType.
Параметров у данного поля нет - это статическая
константа, доступная как ElementType.METHOD.
Синтаксис
ElementType.METHOD
Пример
Давайте создадим аннотацию, которая может быть применена только к методам, и применим её к методу:
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@interface MyAnnotation
{
}
public class Main
{
@MyAnnotation
public static void method()
{
System.out.println("Hello");
}
public static void main(String[] args)
{
method();
}
}
Результат выполнения кода:
"Hello"
Пример
Давайте проверим, что аннотация с @Target(ElementType.METHOD)
доступна для метода через рефлексию:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnnotation
{
}
public class Main
{
@MyAnnotation
public static void method()
{
}
public static void main(String[] args) throws Exception
{
Method m = Main.class.getMethod("method");
boolean res = m.isAnnotationPresent(MyAnnotation.class);
System.out.println(res);
}
}
Результат выполнения кода:
true
Смотрите также
-
класс
ElementType,
который содержит типы элементов аннотаций -
аннотация
Target,
которая задаёт область применения аннотации -
поле
FIELD,
которое указывает на применение к полям -
поле
PARAMETER,
которое указывает на применение к параметрам