美文网首页
Java元注解

Java元注解

作者: 内卷星球 | 来源:发表于2018-03-20 13:15 被阅读0次

@Retention: 定义注解的保留策略

@Retention(RetentionPolicy.SOURCE) // 注解仅存在于源码中,在 class 字节码文件中不包含
@Retention(RetentionPolicy.CLASS) // 默认的保留策略,注解会在 class 字节码文件中存在,但运行时无法获得,
@Retention(RetentionPolicy.RUNTIME) // 注解会在 class 字节码文件中存在,在运行时可以通过反射获取到
首 先要明确生命周期长度 SOURCE < CLASS < RUNTIME ,所以前者能作用的地方后者一定也能作用。一般如果需要在运行时去动态获取注解信息,那只能用 RUNTIME 注解;如果要在编译时进行一些预处理操作,比如生成一些辅助代码(如 ButterKnife),就用 CLASS 注解;如果只是做一些检查性的操作,比如 @Override 和 @SuppressWarnings,则可选用 SOURCE 注解。

@Target:定义注解的作用目标

源码为:
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
ElementType[] value();
}
@Target(ElementType.TYPE) // 接口、类、枚举、注解
@Target(ElementType.FIELD) // 字段、枚举的常量
@Target(ElementType.METHOD) // 方法
@Target(ElementType.PARAMETER) // 方法参数
@Target(ElementType.CONSTRUCTOR) // 构造函数
@Target(ElementType.LOCAL_VARIABLE)// 局部变量
@Target(ElementType.ANNOTATION_TYPE)// 注解
@Target(ElementType.PACKAGE) /// 包

@Document:说明该注解将被包含在 javadoc 中

@Inherited:说明子类可以继承父类中的该注解

作者:JavaIsRubbish
链接:http://pipe.b3log.org/blogs/JavaIsRubbish/articles/2018/03/16/1521171085983

相关文章

  • 1.8 Java 注解annotation

    1.1 注解声明 Java注解Annotation,有声明注解和元注解 元注解:Java提供的元注解,所谓元注解就...

  • Java注解(三)—元注解

    元注解就是注解的注解,是Java内置的注解。Java提供四个元注解:@Retention @Target @Doc...

  • JavaSE进阶-注解:JavaSE元注解和JavaEE原生注解

    JavaSE元注解 在注解定义时,用在注解头部的注解,称为元注解,目前元注解在java.lang.annotati...

  • 自定义注解

    java annotation基础 java注解分为标准注解和元注解。 标准注解是java为我们提供的预定义的注解...

  • Java Annotation注解

    1 Java 元注解 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotatio...

  • java - 注解

    1. 元注解 元注解:用在注解上的注解,java1.5后添加的4个元注解: @Target @Retention ...

  • Java注解

    Java注解 1.注解的语法 2.元注解 2.1 元注解列表 元注解含义选项@Retention标识注解的存活阶段...

  • Java注解总结(史上最全,有这一篇就够了)

    什么是注解? 注解的定义 官网描述如下: Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影...

  • 注解的使用

    元注解 注解 注解本质就是接口: 元注解:修饰注解的注解 自定义注解 Text.java FruitName.ja...

  • 10 Dagger2

    1 注解 1.1 注解的定义 Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执...

网友评论

      本文标题:Java元注解

      本文链接:https://www.haomeiwen.com/subject/geavqftx.html