元注解
元注解的作用在于: 负责注解其它注解。
- @Target
- @Retention
- @Documented
- @Inherited
@Target
@Target 说明了Annotation 所修饰的对象的范围, 使用枚举类ElementType 来指定。
1 | public enum ElementType { |
@Retention
@Retention : 用于描述注解的生命周期, 即被描述的注解在什么范围内有效。
取值范围有(在枚举类RetentionPolicy 中有说明):
- SOURCE:在源文件中有效(即在源文件中保留)
- CLASS:在class 文件中有效(即在CLASS 文件中保留)
- RUNTIME:在运行时有效(即在运行时保留)
1 | public enum RetentionPolicy { |
@Documented
@Documented 用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员。
@Inherited
@Inherited 是一个标记注解, 阐述了某个被标注的类型是被继承的,