表示注解接口适用的上下文。注解接口可适用的声明上下文和类型上下文在JLS 9.6.4.1中指定,并在源代码中由
java.lang.annotation.ElementType
的枚举常量表示。
如果注解接口T
上不存在@Target
元注解,则类型T
的注解可以作为任何声明的修饰符编写。
如果存在@Target
元注解,编译器将根据ElementType
枚举常量指示的使用限制来执行,符合JLS 9.7.4。
例如,此@Target
元注解表示声明的接口本身是一个元注解接口。它只能用于注解接口声明:
@Target(ElementType.ANNOTATION_TYPE) public @interface MetaAnnotationType { ... }
此@Target
元注解表示声明的类或接口仅用于作为复杂注解接口声明中的成员类或接口。它不能直接用于注解任何内容:
@Target({}) public @interface MemberInterface { ... }
如果单个ElementType
常量在@Target
注解中出现多次,则会导致编译时错误。例如,以下@Target
元注解是非法的:
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.FIELD}) public @interface Bogus { ... }
- 参见 Java 语言规范:
-
9.6.4.1 @Target
9.7.4 注解可以出现的位置
9.7.5 相同接口的多个注解
- 自版本:
- 1.5
-
Required Element Summary
-
Element Details
-
value
ElementType[] value返回注解接口可以应用于的元素种类数组。- 返回:
- 注解接口可以应用于的元素种类数组
-