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