自定义注解:自定义注解在编译期间,会自动擦除成接口类型,自定义数据 可以使用元注解声明。
元注解声明:作用范围和作用位置
Retention 用于声明 当前注解的作用范围
RUNTIME 注解在编译时候不擦除,编译到类,运行时候加载到方法区
CLASS 注解在编译时候不擦除,编译到类,运行时候不加载到方法区,默认范围
SOURCE 注解在编译时候擦除,只是用于编译器
Target 用于声明注解的使用位置:类,方法,属性,局部变量
Retention和Target都是元注解。
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface Resource {
//为注解声明value属性
//是默认的属性, 属性的类型是 字符串类型,可以在声明属性时候使用,并且可以赋值
// 在运行期间,可以利用反射读取属性的值
String value();
}
java中Annotation定义 注解