尚硅谷JavaSE课程进阶第8章之元注解
Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。
(1)@Target
(2)@Retention
(3)@Documented
(4)@Inherited
在java.lang.annotation包
1、@Target
作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方
2、@Retention
@Retention定义了该Annotation被保留的时间长短
作用:表示需要在什么级别保存该注释信息,用于描述注解的生命周期(即:被描述的注解在什么范围内有效)
@Rentention 包含一个 RetentionPolicy 类型的成员变量, 使用 @Rentention 时必须为该 value 成员变量指定值:
取值(RetentionPoicy)有:
SOURCE:在源文件中有效(即源文件保留)
CLASS:在class文件中有效(即class保留) 这是默认值
RUNTIME:在运行时有效(即运行时保留)当运行 Java 程序时, JVM 会保留注释. 程序可以通过反射获取该注释
3、@Documented
Documented 注解表明这个注解应该被 javadoc工具记录。默认情况下,javadoc是不包括注解的,但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理。
4、@Inherited
允许子类继承父类中的注解