作用
1.具有解释说明的作用
2.强制检查,检测的作用
3.注解可以存在Class文件中
4.定义注解时候同时传递数据,程序运行期间可以通过反射获取数据使用
5.大量代替了配置文件
使用
@注解名(参数)
位置
任意位置
分类
参数个数分
1.标记注解 : 0个
2.单值注解 : 1个
3.完整注解 : 多个
jdk内置注解
简单的内置注解
@Override : 强制检测是否为重写方法
@FunctionalInterface : 强制检测会否为函数式接口
@Deprecated 标记已过时
@SuppressWarnings 抑制警告
元注解
注解注解的注解
@Target用于描述注解的使用范围
@Retention表示需要在什么级别保存该注释信息,用于描述注解的生命周期
@documented表示使用该注解的元素应被javadoc或类似工具文档化
@Inherited 表示一个注解类型会被自动继承
注意
面向对象设计原则之一: 开闭原则
自定义注解
1.通过@interface定义注解类型
2.自定义的注解默认隐式的实现java.lang.annotation.Annotation接口
3.并不能显示实现 其他接口,继承其他父类
4.注解类中可以自定义定义属性|字段
5.注解类属性的定义 : 数据类型 属性名();
6.字段|属性类型只能为 : 基本数据类型 String enum annotation 或者以上类型的数组
7.注解类型 中字段|属性只有一个,名字建议定义value,赋值的时候可以省略value=
8.字段可以定义默认值 通过default关键字



