- 什么是注解
- 注解相当于是一种嵌入在程序中的元数据;元数据是描述数据的数据
- 作用
- 注释,解释的作用
- 标志检查的作用
- 添加注解的时候可以通过配置传递参数,运行期间通过反射获取到配置的数据,程序中进行使用
- 注解可以存在与Class文件中
- 注解大量的代替了配置文件的存在
- 注解分类
- 语法:@注解名(实参);位置:任意位置
- 注解参数分类
- 标记注解:一个没有成员定义的Annotation类型被称为标记注解
- 单值注解:只有一个值
- 完整注解:拥有多个值
- 根据注解使用方法和用途分类
- JDK内置系统注解
- @Override:重写方法注解
- @Deprecated:方法过时注解
- @SuppressWarnings:抑制警告注解
- @FunctionalInterface 函数式接口
- 元注解:注解注解的注解
- @Target 用于描述注解的使用范围
- @Retention 表示需要在什么级别保存该注释信息,用于描述注解的生命周期
- @Documented 表示使用该注解的元素应被javadoc或类似工具文档化
- @Inherited 表示一个注解类型会被自动继承
- 自定义注解
- 通过@interface自定义注解类型
- 自定义的注解类型默认实现java.lang.annotation Annotation接口
- 自定义的注解类型不能显示的继承其他父类,实现其他接口
- 注解类中可以定义注解类型的字段,特殊的定义方法,需要字段名后面添加() --> 修饰符 类型 字段名()
- 如果注解类型中只有一个字段,建议这个字段名定义为value,赋值的时候可以直接赋值
- 注解类型中的字段的数据类型,只能为以下几种类型 : 基本数据类型,String,Annotation,枚举类型,或者这几种类型的数组
- 字段的修饰符只能为public|default
- 通过default关键字为字段定义默认值
- JDK内置系统注解