zoukankan      html  css  js  c++  java
  • java四种元注解:@Retention @Target @Document @Inherited)认知

    元数据也叫元注解,是放在被定义的一个注解类的前面 ,是对注解一种限制。 

    @Retention:注解的保留位置  
                 @Retention(RetentionPolicy.SOURCE)   //注解仅存在于源码中,在class字节码文件中不包含
    

          @Retention(RetentionPolicy.CLASS) // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,
          @Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
    @Target: 注解的作用目标
            
            @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:说明子类可以继承父类中的该注解

    举例:
    

       @Retention(RetentionPolicy.RUNTIME)
        @Target({ElementType.METHOD})
        public @interface AnnatDemo{
            public int value();
        }
    以上代码定义了@AnnatDemo注解,作用目标是 用于对方法注解,并且保留在运行时的环境中,我们可以利用反射 获得一个方法上的注解 调用定义的方法

  • 相关阅读:
    (译).NET4.X并行任务Task需要释放吗?
    微软面向高并发应用而推出的新程序库——TPL Dataflow
    C# 5.0 Async函数的提示和技巧
    内存泄露——文章
    AJAX POST请求中参数以form data和request payload形式在php中的获取方式
    NodeJS中间层搭建
    HTML5上传预览
    laravel 图片上传 ajax 方式
    抽奖程序
    IText 生成页脚页码
  • 原文地址:https://www.cnblogs.com/yuanhailiang/p/8847139.html
Copyright © 2011-2022 走看看