java知识学习55-注解
注解:也叫元数据,jdk1.5以后的特性,用于对程序的说明,给计算机看的;格式:@注解名称
注释:用于对程序的描述,给程序员看的。
注解的作用:
常用的一些预定义注解:
自定义注解:
格式:public @interface 注解名称 { 属性列表 },上面是一些元注解
本质:注解本质上就是一个接口,该接口默认继承Annotation接口,可通过对自定义类进行反编译(命令行中输入:javap 类名.class进行反编译查看)
属性:与接口中定义方法的模式一样。即接口中的抽象方法。
元注解:用于描述注解的注解。
@Target:描述注解能够作用的范围或位置(Type:类;Mehtod:方法;Field:成员变量);
@Retention:描述注解被保留的阶段(源码、class、对象三个阶段)
@Retention(RetentionPolicy.Runtime):表示被描述的注解,会保留到class字节码文件中,并被JVM读取到。
@Documented:描述注解是否被抽取到api文档中;
@Inherited:描述注解是否被子类继承(子类也会继承父类的注解);
在程序中使用(解析)注解:
* 获取注解中定义的属性值:
1. 获取注解所描述位置(类、方法、变量)的字节码对象;
2. 获取对应注解的对象;通过getAnnotation(Class)方法;
3. 调用注解对象中的抽象方法来获取配置的属性值;
测试类:
自定义的注解:
被调用的类:
简易的小案例:通过给方法加上Check注解标识,使得加上该标识的方法会被执行并校验正确性。
被测试的类:
注解类:
验证类: