尚硅谷JavaSE课程进阶第8章之元注解

Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。

(1)@Target

(2)@Retention

(3)@Documented

(4)@Inherited

在java.lang.annotation包

1、@Target

作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方

Java培训课程

2、@Retention

@Retention定义了该Annotation被保留的时间长短

作用:表示需要在什么级别保存该注释信息,用于描述注解的生命周期(即:被描述的注解在什么范围内有效)

@Rentention 包含一个 RetentionPolicy 类型的成员变量, 使用 @Rentention 时必须为该 value 成员变量指定值:

取值(RetentionPoicy)有:

SOURCE:在源文件中有效(即源文件保留)

CLASS:在class文件中有效(即class保留) 这是默认值

RUNTIME:在运行时有效(即运行时保留)当运行 Java 程序时, JVM 会保留注释. 程序可以通过反射获取该注释

java培训课程

3、@Documented

Documented 注解表明这个注解应该被 javadoc工具记录。默认情况下,javadoc是不包括注解的,但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理。

4、@Inherited

允许子类继承父类中的注解