注解

作者: 小斌_bingor | 来源:发表于2019-07-27 13:16 被阅读0次

    @Target -- 表示注解的作用对象

    // 用于描述类、接口(包括注解类型) 或enum声明
    ElementType.TYPE
     
    // 成员变量
    ElementType.FIELD,
     
    // 用于描述方法
    ElementType.METHOD,
     
    // 用于描述参数
    ElementType.PARAMETER,
     
    // 用于描述构造方法
    ElementType.CONSTRUCTOR,
     
    // 用于描述局部变量
    ElementType.LOCAL_VARIABLE,
     
    // 只能作用于注解,就是@interface
    ElementType.ANNOTATION_TYPE,
     
    // 用于描述包 Package declaration
    ElementType.PACKAGE
     
    //用于泛型(JAVA8 及以上)
    ElementType.TYPE_PARAMETER,
     
    // 能标注任何类型名称
    ElementType.TYPE_USE
    

    @Retention -- 表示注解类型保留的时长

    //注解仅存在于源码中,在编译阶段丢弃。这些注解在编译结束之后就不再有任何意义,所以它们不会写入字节码
    RetentionPolicy.SOURCE
    //默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得
    RetentionPolicy.CLASS
    //注解会在class字节码文件中存在,在运行时可以通过反射获取到
    RetemtionPolicy.RUNTIME
    

    @Documented -- 表示注解可以出现在javadoc中

    @Inherited -- 表示注解可以被子类继承

    相关文章

      网友评论

          本文标题:注解

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