Java注解(三)—元注解

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

一. @Retention用来约定注解的生命周期
@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含
@Retention(RetentionPolicy.CLASS) // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,不会加载到虚拟机中
@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取

二. @Target用来约定注解可以应用的地方(如方法,类或字段),其中ElementType是枚举类型

public enum ElementType {
    /**标明该注解可以用于类、接口(包括注解类型)或enum声明*/
    TYPE,

    /** 标明该注解可以用于字段(域)声明,包括enum实例 */
    FIELD,

    /** 标明该注解可以用于方法声明 */
    METHOD,

    /** 标明该注解可以用于参数声明 */
    PARAMETER,

    /** 标明注解可以用于构造函数声明 */
    CONSTRUCTOR,

    /** 标明注解可以用于局部变量声明 */
    LOCAL_VARIABLE,

    /** 标明注解可以用于注解声明(应用于另一个注解上)*/
    ANNOTATION_TYPE,

    /** 标明注解可以用于包声明 */
    PACKAGE,

    /**
     * 标明注解可以用于类型参数声明(1.8新加入)
     * @since 1.8
     */
    TYPE_PARAMETER,

    /**
     * 类型使用声明(1.8新加入)
     * @since 1.8
     */
    TYPE_USE
}

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在使用注解之前,需要了解:一、什么是注解?二、注解是如何产生作用的?而元注解是一个很好的切入点 元注解的源码结构 ...
    测试你个头阅读 9,518评论 2 9
  • 注解 创建注解 下面代码创建了一个名为MyAnno的注解,有两个成员str和val。@Retention(…)注解...
    kylinxiang阅读 3,751评论 0 2
  • 最近想撸一个权限机制的APT项目,于是重新复习了注解的内容。 先简单看看Butterknife中对View的绑定的...
    走川阅读 1,682评论 0 1
  • 室静生纤尘,人空欲露筋。 频频梳帚尾,碌碌驱蝇蚊。 掭墨润枯笔,搜肠解热忱。 葡萄秧下舞,新作篇前吟。
    衙斋掾吏阅读 555评论 0 8
  • 亲爱的爷爷: 转眼间,您离开我们已经快两年了,在天堂的您还好吗?病痛是否不再折磨您了?您不用担心我们,儿孙们和...
    我的哆啦A梦1阅读 300评论 1 1