0%
- JDK的元Annotation用于修饰其他Annotation定义
- JDK5.0提供了4个标准的meta-annotation类型,分别是:
- Retention
- Target
- Documented
- Inherited
- @Retention:只能用于修饰一个Annotation定义,用于指定该Annotation的生命周期,@Rentention包含一个RetentionPolicy类型的成员变量,使用@Rentention时必须为该value成员变量指定值:
- RetentionPolicy.SOURCE:在源文件中有效
- RetentionPolicy.CLASS:在class文件中有效(默认)
- RetentionPolicy.RUNTIME:在运行时有效,能通过反射获取
- @Target:用于修饰Annotation定义,用于指定被修饰的Annotation能用于修饰哪些元素,@Target也包含一个名为value的成员变量
取值 |
|
取值 |
|
CONSTRUCTOR |
用于描述构造器 |
PACKAGE |
用于描述包 |
FIELD |
用于描述域 |
PARAMETER |
用于描述参数 |
LOCAL_VARIABLE |
用于描述局部变量 |
TYPE |
用于描述类,接口或enum声明 |
METHOD |
用于描述方法 |
|
- @Documented:用于指定被该元Annotation修饰的Annotation类将被javadoc工具提取成文档。默认情况下,javadoc是不包括注解的
- 定义为Documented的注解必须设置Retention值为RUNTIME
- @Inherited:被它修饰的Annotation将具有继承性,子类将自动具有该注解