解读JAVA中的注解
一、JAVA中的常见注解
JDK中的注解
1、@Override 重写父类或者接口的方法的注解
2、@Deprecated 说明接口或父类里的方法已经过时。(开发团队其他人还在用该方法的情况下,不能删除掉该方法,所以用这个注解说明该方法已过时)
第三方框架中的注解
1、
二、自定义注解
要求
1、使用@interface关键字定义注解
2、成员要以无参、无异常方式声明
3、可以用default关键字为成员定义一个默认值
4、如果注解只有一个成员的时候,成员必须被取名为value
5、注解类可以没有成员,没有成员的注解类称为标示注解
6、成员类型受限
元注解
@Target 注解的作用域
@Target({ElemtType.METHOD,ElemtType.Type})
1、构造方法声明:CONSTRUCTOR
2、字段声明:FIELD
3、局部变量声明:LOCAL_VARIABLE
4、方法声明:METHOD
5、包声明:PACKAGE
6、参数声明:PARAMETER
7、类接口:TYPE
@Retention(RetentionPolicy.RUNTIME) 注解的声明周期
1、只在源码显示,编译时会丢弃:SOURCE
2、编译时会记录到class中,运行时忽略:CLASS
3、运行时存在,可以通过反射读取:RUNTIME
@Inherited 允许子类继承
@Documented 生成javadoc的时候会包含注解的信息
解析注解
1、使用类加载器加载注解类
2、通过isAnnotationPresent验证注解是否存在
3、通过getAnnotation拿到注解实例
4、通过getMethods拿到方法上的注解实例