JDK 5 提供的注解: Target 、Inherited 和 Documented

来源:互联网 发布:python product 编辑:程序博客网 时间:2024/04/30 16:51

JDK 5提供的注解,除了Retention以外,还有另外三个,即Target 、Inherited 和 Documented。

 

Target 目标即Target注解用在哪里, 定义了注解使用的时机,即注解所适用的程序元素的种类。如果注解类型声明中不存在 Target 元注解,则声明的类型可以用在任一程序元素上。如果存在这样的元注解,则编译器强制实施指定的使用限制。

Target 定义如下:

 

可以看到,Target 只有一个value属性,类型为枚举类型ElementType。ElementType 声明如下:

 

Documented注解表明制作javadoc时,是否将注解信息加入文档。如果注解在声明时使用了@Documented,则在制作javadoc时注解信息会加入javadoc。注解声明如下:

 

 

Inherited 注解同样是元注解,声明如下:

 

Inherited 注解表明注解是否会被子类继承,缺省情况是不继承的。当注解在声明时,使用了@Inherited注解,则该注解会被使用了该注解的类的子类所继承。