• 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的子类。





     

    怕什么真理无穷,进一寸有一寸的欢喜!
  • 相关阅读:
    图片上传-下载-删除等图片管理的若干经验总结3-单一业务场景的完整解决方案
    图片上传-下载-删除等图片管理的若干经验总结2
    HDU 1195 Open the Lock
    HDU 1690 Bus System
    HDU 2647 Reward
    HDU 2680 Choose the best route
    HDU 1596 find the safest road
    POJ 1904 King's Quest
    CDOJ 889 Battle for Silver
    CDOJ 888 Absurdistan Roads
  • 原文地址:https://www.cnblogs.com/wyk96/p/13578080.html
Copyright © 2020-2023  润新知