-
@Documented @Retention(RUNTIME) @Target(ANNOTATION_TYPE) public @interface Target
指示注释类型适用的上下文。 注释类型可能适用的声明上下文和类型上下文在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 MemberType { ... }
一个
ElementType
常量在@Target
注释中不止一次出现编译时错误。 例如,以下@Target
元注释是非法的:@Target({ElementType.FIELD, ElementType.METHOD, ElementType.FIELD}) public @interface Bogus { ... }
- 从以下版本开始:
- 1.5
- See The Java™ Language Specification:
- 9.6.4.1 @Target,9.7.4注释可能出现时,9.7.5同一类型的多重注释
-
-
Required Element Summary
Required Elements Modifier and Type Required Element 描述 ElementType[]
value
返回注释类型可应用于的元素种类的数组。
-
-
-
Element Detail
-
value
ElementType[] value
返回注释类型可应用于的元素种类的数组。- 结果
- 可应用注释类型的元素种类的数组
-
-