zoukankan      html  css  js  c++  java
  • Java元注解

    JDK从1.5开始提供注解,除了内置注解,还有4个元注解用了定义和解释注解

    第一个 @Target

    标志注解可以在那些地方可以使用

    public enum ElementType {
        /** Class, interface (including annotation type), or enum declaration */
        TYPE,      //:用于描述类、接口(包括注解类型) 或enum声明
    
        /** Field declaration (includes enum constants) */
        FIELD,   //:用于描述域即类成员变量
    
        /** Method declaration */
        METHOD,//:用于描述方法
    
        /** Formal parameter declaration */
        PARAMETER,//:用于描述参数
    
        /** Constructor declaration */
        CONSTRUCTOR,//:用于描述构造器
    
        /** Local variable declaration */
        LOCAL_VARIABLE,://用于描述局部变量
    
        /** Annotation type declaration */
        ANNOTATION_TYPE,//:描述注释
    
        /** Package declaration */
        PACKAGE,//描述包
    
        /**
         * Type parameter declaration
         *
         * @since 1.8
         */
        TYPE_PARAMETER, //1.8版本开始,描述类、接口或enum参数的声明
    
        /**
         * Use of a type
         *
         * @since 1.8
         */
        TYPE_USE  //:1.8版本开始,描述一种类、接口或enum的使用声明
    }

    第二个:@Retention 

    描述注解的生命周期,表示需要在什么级别保存该注解,即保留的时间长短。取值类型(RetentionPolicy)有以下几种:

      SOURCE:在源文件中有效(即源文件保留)
      CLASS:在class文件中有效(即class保留)
      RUNTIME:在运行时有效(即运行时保留)
    
    
    第三个:@Documented
    描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。它是一个标记注解,没有成员。

    第四个:@Inherited

    用于表示某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。





     

    怕什么真理无穷,进一寸有一寸的欢喜!
  • 相关阅读:
    hdu 2147博弈找规律
    hdu 1851 巴什博弈
    hdu 1729 sg博弈
    hdu 2516博弈找规律
    (转载)博弈之SG函数
    poj 2234基础Nim博弈||sg博弈
    hdu 1730 sg博弈||nim博弈
    hdu 1847 博弈找规律
    n hdu 1760 [SG博弈]二维状态
    hdu 1849 nim博弈
  • 原文地址:https://www.cnblogs.com/wyk96/p/13578080.html
Copyright © 2011-2022 走看看