首页 > 技术文章 > 注解3 --- JDK 中的元注解 --- 技术搬运工(尚硅谷)

noyouth 2020-04-23 09:55 原文

  • JDK 的元 Annotation 用于修饰其他 Annotation 定义
  • JDK5.0提供了4个标准的meta-annotation类型,分别是:
    @Retention
    @Target
    @Documented
    @Inherited
  1. @Retention: 只能用于修饰一个 Annotation 定义, 用于指定该 Annotation 的生命周期,@Rentention 包含一个 RetentionPolicy 类型的成员变量, 使用@Rentention 时必须为该 value 成员变量指定值:
      RetentionPolicy.SOURCE:在源文件中有效(即源文件保留),编译器直接丢弃这种策略的注释;
      RetentionPolicy.CLASS:在class文件中有效(即class保留) , 当运行 Java 程序时, JVM不会保留注解。 这是默认值;
      RetentionPolicy.RUNTIME:在运行时有效(即运行时保留),当运行 Java 程序时, JVM 会保留注释。程序可以通过反射获取该注释。
    public enum RetentionPolicy{
      SOURCE, CLASS, RUNTIME
    }

    @Retention(RetentionPolicy.SOURCE)
    @interface MyAnnotation1{
    }
     
    @Retention(RetentionPolicy.RUNTIME)
    @interface MyAnnotation2{
    }
     

    2.

     

推荐阅读