注解 Annotation
什么是注解?
相当于在程序中描述数据的数据。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
注解的作用:
1.注释,生成文档
2.强制检查语法,在编译期间进行格式检查
3.可以在使用注解的同时配置一些数据,在程序运行期间可以通过反射操作注解,获取配置的数据进行使用
4.注解可以存在于Class文件中
5.大量的代替了配置文件的存在
语法 :
@注解类型(数据)
位置 :
默认可以使用在任意位置,可以通过元注解Target规定注解类型的使用位置
分类 :
JDK内置注解
常见的内置注解
@Override : 标识一个方法为重写方法
@SuppressWarnings 抑制编译器警告
@Deprecated 标记已过时
@FunctionalInteface 标识函数式接口的注解
元注解 : 注解注解的注解
1.@Target 用于描述注解的使用范围
2.@Retention 用于描述注解的生命周期
SOURCE:在源文件中有效(即源文件保留)
CLASS:在class文件中有效(即class保留)
RUNTIME:在运行时有效(即运行时保留)
3. @Documented 表示使用该注解的元素应被javadoc或类似工具文档化,
4. @Inherited 表示一个注解类型会被自动继承
自定义注解 :
1.使用@interface定义注解类型
2.如果注解类型中存在字段,使用注解时候必须同时传递数据为字段赋值,如果存在多个字段 (字段名=赋值,字段名=赋值....)
3.注解类型中的字段的声明方式 : 数据类型 字段名();
4.注解类型中的字段类型只能为 : 基本数据类型 字符串 枚举类型 注解类型 以上类型的数组
5.如果注解类型中字段只有一个,建议字段名定义为value,可以实现直接复制
6.字段可以设置默认值的,通过default定义默认值
7.java.lang.annotation 包下的Annotation接口 : 所有注解接口扩展的通用接口。