3个基本注解
1)@Override
作用:检查被修饰的方法是不是对父类中该方法的重写或者对接口中该方法的实现
2)@Deprecated
作用:提示被修饰的方法已经过时,不建议使用
3)@SuppressWarnings(value = “”)
作用:抑制编译器在编译阶段对被修饰的对象(类、变量、方法等)报警
4个元注解
描述:所谓元注解就是指用于修饰注解的注解
1)@Retention(RetentionPolicy.RUNTIME)
作用:指定被修饰的注解的生命周期(存在的范围),使用枚举类RetentionPolicy指定
源码如下:
说明:
RetentionPolicy.SOURCE
只存在于源文件(.java)中
RetentionPolicy.CLASS
只存在于源文件(.java)和字节码文件(.class)中
RetentionPolicy.RUNTIME
存在于源文件(.java)、字节码文件(.class)和运行时
2)@Target({ElementType.TYPE, ElementType.FIELD})
作用:指定被修饰的注解的作用对象,使用枚举类ElementType指定
源码如下:
说明:
ElementType.TYPE 类、接口(包括注解类型)或枚举声明
ElementType.FIELD 字段声明(包括枚举常量)
ElementType.METHOD方法声明
ElementType.PARAMETER形参声明
ElementType.CONSTRUCTOR构造函数声明
ElementType.LOCAL_VARIABLE局部变量声明
ElementType.ANNOTATION_TYPE注解类型声明
ElementType.PACKAGE包装声明
ElementType.TYPE_PARAMETER类型参数声明
ElementType.TYPE_USE类型的使用
3)@Documented
作用:指定被修饰的注解在javaDoc解析后是否保留
4)@Inherited
作用:指定被修饰的注解具有继承性,即:如果父类中使用了@Inherited修饰的注解A,那么子类中默认拥有该注解A