JDK自带的注解
@Override 重写方法
@Deprecated 过期启用
@SuppressWarnings("all") 压制警告
自定义注解
- 格式:
元注解
public @interface 注解名称{ }
- 本质:public @interface myAnno{ }-------->本质上就是一个接口,默认继承Annotation
public interface MyAnno extends java.lang.annotation.Annotation{ }
- 属性 ——接口中可以定义的抽象方法(称这个抽象的方法为属性)
要求:
- 属性的返回值类型(基本数据类型,String,枚举,注解,数组)
- 定义了属性,在使用时给属性赋值。
如果定义属性时,使用default关键字给属性默认初始化值,则使用注解时,可以不进行属性的赋值。
如果属性名定义为value时,@Anno(2),可以省略"value=",直接定义值
- 元注解:用于描述注解的注解
@Target:描述注解能够作用的位置
ElementType:TYPE(表示可以作用于类上),METHOD(可以作用于方法上),FIELD(可以作用到成员变量上)
@Retention:描述注解被保留的阶段
@Retention(RetentionPolicy.RUNTIME)被描述的注解会保留到字节码文件中,并被JVM读取到。
@Documented:描述注解是否被抽取到API文档中
@Inherited:描述注解是否被子类继承
- 解析注解:
获取注解中定义的属性值。