Annotation:注解概念
注解:jdk1.5后的新特性
注解:写给编译器和虚拟机的特殊的注释
通过反射可以获取注解中都是数据类指挥编译器的编译或者干涉虚拟机的运行
理解:注解代替xml文件 来记录配置信息(程序运行过程中要加载的数据)
父接口:Annotation
注解关键字: @interface
对象:注解可以加载程序的所有元素上: 包 类 方法 变量 接口
反射获取注解的相关方法
isAnnotationParesent(Class annotationClass) 判断是否存在指定注释
getAnnotation(Class annotationClass) 获取指定注释
getAnnotations() 获取所有注释
元注解
注解的注解
专门修饰注解的注解
用于指挥注解的编译和运行
元注解:Target:用于指定当前注释可以加在那些程序元素上
@Target(ElementType.TYPE)//只能作用在类/接口上
@Target(ElementType.TYPE.ElementType.METHOD)//可以作用在类/接口和普通方法上
@Target(ElementType.FIELD) //可以作用在成员变量上
元注解:Retention :用于指定当前注解保留到什么时候
@Retention(RetentionPolicy.RUNTIME) //注释保留在字节码文件中 并且被jvm解析
@Retention(RetentionPolicy.CLASS) //默认值...注释保留在字节码文件中 但jvm不解析
@Retention(RetentionPolicy.SOURCE) //注释不被编译器编译 字节码文件中不保留