0%

元注解

  • JDK的元Annotation用于修饰其他Annotation定义
  • JDK5.0提供了4个标准的meta-annotation类型,分别是:
    • Retention
    • Target
    • Documented
    • Inherited
  • @Retention:只能用于修饰一个Annotation定义,用于指定该Annotation的生命周期,@Rentention包含一个RetentionPolicy类型的成员变量,使用@Rentention时必须为该value成员变量指定值:
    • RetentionPolicy.SOURCE:在源文件中有效
    • RetentionPolicy.CLASS:在class文件中有效(默认)
    • RetentionPolicy.RUNTIME:在运行时有效,能通过反射获取
  • @Target:用于修饰Annotation定义,用于指定被修饰的Annotation能用于修饰哪些元素,@Target也包含一个名为value的成员变量
取值 取值
CONSTRUCTOR 用于描述构造器 PACKAGE 用于描述包
FIELD 用于描述域 PARAMETER 用于描述参数
LOCAL_VARIABLE 用于描述局部变量 TYPE 用于描述类,接口或enum声明
METHOD 用于描述方法
  • @Documented:用于指定被该元Annotation修饰的Annotation类将被javadoc工具提取成文档。默认情况下,javadoc是不包括注解的
  • 定义为Documented的注解必须设置Retention值为RUNTIME
  • @Inherited:被它修饰的Annotation将具有继承性,子类将自动具有该注解
------ THEEND ------

欢迎关注我的其它发布渠道