Java注解以及自定义注解
# Java 注解
Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制,Java提供了一种原程序中的元素(类、方法、变量、参数和包等)关联任何信息和任何元数据的途径和方法(Java反射)。
# 标准注解
java 1.5引入注解,其中Java SE5内置了三种标准注解:
@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
@SuppressWarnings,指示编译器去忽略注解中声明的警告。
# 元注解
元注解:作用在其他注解的注解,即注解的注解
@Target 表示该注解可以用于什么地方,可能的ElementType参数有:
1.CONSTRUCTOR:构造器的声明
2.FIELD:域声明(包括enum实例)
3.LOCAL_VARIABLE:局部变量声明
4.METHOD:方法声明
5.PACKAGE:包声明
6.PARAMETER 参数声明
7.TYPE:类、接口(包括注解类型)或enum声明
@Retention 表示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括:
1.SOURCE:注解将被编译器丢弃
2.CLASS:注解在class文件中可用,但会被VM丢弃
3.RUNTIME:VM将在运行期间保留注解,因此可以通过反射机制读取注解的信息
@Document 将注解包含在Javadoc中
@Inherited 允许子类继承父类中的注解
从 Java 7 开始,额外添加了 3 个注解:
@SafeVarargs - Java 7 开始支持,忽略任何使用参数为泛型变量的方法或构造函数调用产生的警
@FunctionalInterface - Java 8 开始支持,标识一个匿名函数或函数式接口
@Repeatable - Java 8 开始支持,标识某注解可以在同一个声明上使用多次
# 自定义注解
# 项目
# github地址
https://github.com/ArnoldShu/custom_annotations (opens new window)
# gitee地址
https://gitee.com/ArnoldSu/custom_annotations (opens new window)
上次更新: 2023/10/09, 16:29:51