JAVA 注解总结
1、概述:代码里特殊标记,可以在编译,类加载,运行时被读取,并执行相应的原理。
2、实例:@符号,并把Annotation当成一个修饰符使用
示例一:
①author 标明开发该类模块的作者,多个作者之间用","隔开
②version 版本
③see 参考转向,也就是相关主题
④since 那个版本开始增加的
⑤param 方法中参数的说明,没有参数不能写
⑥return 方法中返回的说明,方法中是void不能写
⑦exception 方法抛出的异常说明
示例二:JDK内置三个基本注解
①override 限定重写父类方法,该注解只能用于方法
②Deprecate 用于表示所修饰的(类、方法等)已过时。通常是已经存在更好的选择。
③SuppressWarnings 抑制编辑器警告
3、自定义注解:参照SuppressWarnings定义
①注解声明为:@interface
②内部定义成员,通常使用value表示
③可以指定成员的默认值,使用default定义
④如果自定义注解没有成员,表示是一个标识作用
如果注解有成员,使用注解时,需要指明成员的价值
4、JDK元注解(Mate-Annottation)
概述:对现有的注解进行解释说明的注解
①Retention 指定所修饰的Annotation的生命周期:SOURCE\CLASS(默认行为)\RUNTIME
只有声明为RUNTIME声明周期注解,才能通过反射获取
②Target 用于指定被修饰的Annotation能用于修饰那些程序元素
③Documented 表示所修饰的注解被javadoc解析时,保留下来。
④Inherit 被它修饰的Annotation将具有继承性
5、通过反射获取注解信息
6、JDK8中注解新特性:可重复注解、类型注解
可重复注解:①在xxx上面声明@Repeatable,成员值为xxx.class
②xxx的Target和Repeatable和xxx相同
类型注解:①ElementType.TYPE_PARAMETER 表示该注解能写在类型变量声明语句中(如:泛型)
②ElementType.TYPE_USE 表示该注解能写在使用类型的任何语言中