注解 : 标注 --> 了解
jdk1.5新特性
作用:
1.注释,解释的作用
2.标志检查的作用
3.添加注解的时候可以通过配置传递参数,运行期间通过反射获取到配置的数据,程序中进行使用
4.注解可以存在与Class文件中
5.注解大量的代替了配置文件的存在
语法:
@注解名(实参|数据)
位置:
任意位置都能使用(根据需求指定使用位置)
分类:
参数个数划分:
标记注解|标识注解 : 没有参数
单值注解 : 一个参数
完整注解 : 多个参数
jdk内置注解
@Override 限定重写父类方法,强制检测被注解的方法是否为重写方法
@Deprecated 标记已过时
@SuppressWarnings("all") 抑制警告
@FunctionalInterface 函数式接口,强制检测一个接口是否为函数式接口
元注解 : 注解注解的注解
@Target 用于描述注解的使用范围(即:被描述的注解可以用在什么地方)
@Retention 用于描述注解的生命周期
一个注解类型的声明周期必须为运行期,才能运行期间通过反射操作
@Documented 表示使用该注解的元素应被javadoc或类似工具文档化
@Inherited 表示一个注解类型会被自动继承
自定义注解
1.通过@interface定义注解类型
2.自定义的注解默认隐式的实现java.lang.annotation.Annotation接口
3.并不能显示实现 其他接口,继承其他父类
4.注解类中可以自定义定义属性|字段
5.注解类属性的定义 : 数据类型 属性名();
6.字段|属性类型只能为 : 基本数据类型 String enum annotation 或者以上类型的数组
7.注解类型 中字段|属性只有一个,名字建议定义value,赋值的时候可以省略value=
8.字段可以定义默认值 通过default关键字
注意: 如果想要通过反射操作的注解类型,需要定义注解类型的声明周期为运行期