java注解的分类:标准注解、元注解、自定义注解
1、Java自带的标准注解
包括@Override、@Deprecated、@SuppressWarnings等,使用这些注解后编译器就会进行检查。
JDK 中内置了以下注解:
- Override 检查该方法是否重写方法,如果发现其父类,或者是引用接口中没有该方法时,会报编译错误。
- @Deprecated 标记过时方法,如果使用该方法,会报编译警告
- @SuppressWarnings 指示编译器去忽略注解中声明的警告
- @FunctionnalInterface java8支持,标识一个匿名函数或函数式接口
2、元注解
元注解是用于定义注解的注解,包括@Retention、@Target、@Inherited、@Documented、@Repeatable 等。元注解也是Java自带的标准注解,只不过用于修饰其他注解。
元注解是java API提供的,是用于修饰注解的注解,通常用在注解的定义上:
- @ Retention 用来定义该注解在哪一个级别可用,在源代码中(SOURCE)、类文件中(CLASS)或者运行时(RUNTIME)。
-
@Documented:生成文档信息的时候保留注解,对类作辅助说明
-
@Target 说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。
3、自定义注解
用户可以根据自己的需求定义注解。当我们理解了内置注解, 元注解和获取注解的反射接口后,我们便可以开始自定义注解了。创建自定义注解和创建一个接口相似,但是注解的interface关键字需要以@符号开头,我们可以为注解声明方法。