Java @Retention如何创建注解

1.@Retention定义

这里的 RetentionPolicy 依然是一个枚举类型,它有以下几个枚举值可取:

  • RetentionPolicy.SOURCE:当前注解编译期可见,不会写入 class 文件

  • RetentionPolicy.CLASS:类加载阶段丢弃,会写入 class 文件

  • RetentionPolicy.RUNTIME:永久保存,可以反射获取

@Retention 注解指定了被修饰的注解的生命周期,一种是只能在编译期可见,编译后会被丢弃,一种会被编译器编译进 class 文件中,无论是类或是方法,乃至字段,他们都是有属性表的,而 JAVA 虚拟机也定义了几种注解属性表用于存储注解信息,但是这种可见性不能带到方法区,类加载时会予以丢弃,最后一种则是永久存在的可见性。

2.@Retention创建自定义注解实例

package com.one;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
 
@Retention(RetentionPolicy.RUNTIME)
@Target( {ElementType.TYPE })//注解的作用目标为 接口、类、枚举、注解  ***详见下文
public @interface RetentionTest {
 String item(); // 定义基本属性  若只有一个属性,属性名固定为value();
 String color();
}

以上就是Java中@Retention创建注解的实例教学,小伙伴们可以对@Retention的基本内容性了解,然后再进行代码的演练哦~

 1.@Override 注解想必是大家很熟悉的了,它的定义如下:@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public&n ...