1、java.lang.annotation包下的4个元注解,修饰其他注解
@Target , @Retention , @Documented , @Inherited
2、@Target注解,用于指定被修饰的注解能修饰哪些程序元素(value为以下8种类型)
2.1 ElementType.ANNOTATION_TYPE 注解声明
2.1 ElementType.CONSTRUCTOR 构造方法声明
2.1 ElementType.FIELD 成员变量声明
2.1 ElementType.LOCAL_VARIABLE 局部变量声明
2.1 ElementType.METHOD 方法声明
2.1 ElementType.PACKAGE 包声明
2.1 ElementType.PARAMETER 参数声明
2.1 ElementType.TYPE 类、接口、枚举声明
3、@Retention注解,指定被修饰的注解可以保留多长时间(vlaue为以下3种类型)
3.1 RetentionPolicy.CLASS 编译器把注解记录在CLASS文件中,当程序运行时,java虚拟机不再保留注解
3.2 RetentionPolicy.RUNTIME 可以通过反射访问注解
3.3 RetentionPolicy.SOURCE 编译器直接丢弃被修饰的注解
4、@Documented注解,指定被修饰的注解将被javadoc工具提取成文档
5、@Inherited注解,指定子类是否继承该注解
来源:oschina
链接:https://my.oschina.net/u/2320342/blog/382576