一、Annotation 的概念
Annotation (注解)是插入代码中的元数据,在 JDK5.0 及以后版本引入。它可以在编译期使用预编译工具进行处理, 也可以在运行期使用 Java 反射机制进行处理,用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。因为本质上,Annotion 是一种特殊的接口,程序可以通过反射来获取指定程序元素的 Annotion 对象,然后通过 Annotion 对象来获取注解里面的元数据。(元数据从 metadata 一词译来,就是“关于数据的数据”的意思)
二、Annotation 的作用
Annotation 的作用大致可分为三类:
编写文档:通过代码里标识的元数据生成文档;
代码分析:通过代码里标识的元数据对代码进行分析;
编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查;
综上所述可知,Annotation 主要用于提升软件的质量和提高软件的生产效率。
三、Annotation 的分类
根据成员个数分类
1.标记注解:没有定义成员的 Annotation 类型,自身代表某类信息,如:@Override
2.单成员注解:只定义了一个成员,比如 @SuppressWarnings 定义了一个成员 String[] value,使用 value={…} 大括号来声明数组值,一般也可以省略 “value=”
3.多成员注解:定义了多个成员,使用时以 name=value 对分别提供数据
根据注解使用的功能和用途分类
1.系统内置注解:系统自带的注解类型,如 @Override
2.元注解:注解的注解,负责注解其他注解,如 @Target
3.自定义注解:用户根据自己的需求自定义的注解类型
参考文章:
P1:
https://www.jianshu.com/p/0b1af95c1335