💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
元注解的作用是定义注解,很多的注解都是基于元注解而定义的,元注解一共就下面5种。 <br/> **1. `java.lang.annotation.Retention`** ```java public @interface Retention { //定义注解的存活时间 //RetentionPolicy.SOURCE 只在源码时存活,编译时丢弃 //RetentionPolicy.CLASS 只在编译时存活,运行时丢弃 //RetentionPolicy.RUNTIME 只在运行时存活,通过反射读取 RetentionPolicy value(); } ``` **2. `java.lang.annotation.Target`** ```java public @interface Target { //定义注解的使用范围 //ElementType.ANNOTATION_TYPE 用在注解上 //ElementType.CONSTRUCTOR 用在构造器上 //ElementType.FIELD 用在属性上 //ElementType.LOCAL_VARIABLE 用在局部变量上 //ElementType.METHOD 用在方法上 //ElementType.PACKAGE 用在包上 //ElementType.PARAMETER 用在方法的参数上 //ElementType.TYPE 用在Java类型上,如类、接口、枚举、注解 ElementType[] value(); } ``` **3. `java.lang.annotation.Documented`** ```java //与文档相关 public @interface Documented { } ``` **4. `java.lang.annotation.Inherited`** ```java //如果父类被注解 @Inherited 标记,但是它的子类没有标记任何注解,则子类自动继承父类的所有注解 public @interface Inherited { } ``` **5. `java.lang.annotation.Repeatable`** ```java public @interface Repeatable { //JDK 1.8 引入,在同一个地方可以重复使用同一个注解。 Class<? extends Annotation> value(); } ```