1.Annocation的使用示例
示例一:生成文档相关的注解
/**
* @Auther: tdongmu
* @Date: 2020/12/7 1:20
* @Description:枚举类的学习
*
*/
示例二:在编译时进行格式检查(JDK内置的三个基本注解)
@Override:限定重写父类方法,该注解只能用于方法
@Deprecated:用于表示修饰的元素(类,方法等)已过时。通常是因为修饰结构危险或存在更好的。
@SupperessWarnings:抑制编译器警告。
示例三:跟踪代码依赖性实现代替配置文件功能。
2.如何自定义注解:参照@SupperessWarnings定义
1)注解声明为:@interface
2)内部定义成员,通常使用value表示
3)可以指定成员的默认值,使用default定义
4)如果自定义成员没有注解时,需要指明成员的值
3.jdk提供的四种元注解:对现有注解进行解释说明的注解
Retention:指定所修饰的Annotation的生命周期:SOURCE\CLASS(默认行为)\RUNTIME
只有声明为RUNTIME生命周期的注解,才能通过反射获取。
Target:用于制定被修饰的Annotation能修饰那些程序的元素
Documented:表示所修饰的直接在被javadoc解析时,保留下来。
Inherited:被他修饰的Annotation将具有继承性。