1、元注解是什么
了解注释看这里:注释是什么
了解自定义注解看这里:如何自定义注解
元注解就是负责注解其他注解。Java 5定义了4个标准的元注解(meta-annotation):@Target、@Retention、@Documented、@Inherited,这些元注解的类在java.lang.annotation包中,具体如下:
@Target
@Target说明了注解所修饰的对象范围,即所定义的注解可以用在什么地方。具体的取值有:
- CONSTRUCTOR
用于描述构造器
- FIELD
用于描述类中的属性(域)
- LOCAL_VARIABLE
用于描述局部变量
- METHOD
用于描述方法
- PACKAGE
用于描述包
- PARAMETER
用于描述方法参数
- TYPE
用于描述类、接口(包括注解类型) 或enum声明
@Retention
@Retention定义了注解如何被保留,即被描述的注解在什么范围内有效。具体的取值有:
- SOURCE
在源文件中有效(即源文件保留)
- CLASS
在class文件中有效(即class保留)
- RUNTIME
在运行时有效(即运行时保留)
我们在《如何自定义注解》文章中的实例中使用了@Retention(RetentionPolicy.RUNTIME),也就是说该自定义注解在运行时能够被读取和使用。
@Documented
@Documented定义了注解可以作为公共API,可以被例如javadoc此类的工具文档化。Documented是一个标记注解,并没有任何成员。
@Inherited
@Inherited允许子类继承父类的注解。即一个使用了@Inherited修饰的注解被用于某个类,则该类的子类也等同于被该注解修饰。
时间: 2024-10-05 02:33:28