格式:
元注解
public @interface 注解名称 {}
本质:注解本质就是一个接口,该接口默认继承Annotation接口
public interface 注解名 extends Java.lang.annotation.Annotation {}
属性:接口中定义的内容 成员方法
1.属性值的返回类型有下列取值
要求:基本数据类型 ,String,枚举,注解,以上类型的数组
2.定义了属性,在使用的时候给属性赋值(如果使用了default关键字给属性默认初始化值,使用注解时,可以不赋值。如果属性只有一个值,并且属性名称是value,则value可以省略,直接定义值即可,数组赋值时使用{}包裹,如果数组中只有一个值则{}可以省略)
元注解:描述注解的注解
1.Target:描述注解能作用的位置
ElementType取值:
TYPE:类上
METHOD:方法
FIELD:成员变量
2.Retention:描述注解被保留的阶段
@Retention(RetentionPolicy.RUNTIME) 被当前描述的注解,会保留到class字节码文件中,并被JVM读取。RetentionPolicy.CLASS会保留到class字节码文件中,不会被JVM读取。RetentionPolicy.SOURCE 不会保留class字节码文件中。
3.Documented:描述注解是否被抽取到api文档中
4.Inherited:描述是否被子类继承
二、在程序中使用注解(解析)获取注解中定义的属性值