元注解:专门修饰注解的注解

元注解:专门修饰注解的注解


常见的元注解:

  • @Retention
  • @Target
  • @Inherited
  • @Documented
  • @Repeatable

@Retention:解释说明了注解的存活时间

  • RetentionPolicy.SOURCE 只在源代码阶段保留,编译时被丢弃忽略(.java)
  • RetentionPolicy.CLASS 只保留到编译进行时,不会加载到JVM中(.class)
  • RetentionPolicy.RUNTIME 可以保留到程序运行时,会被加载进JVM中(JVM)

@Target:注解运用的地方

  • ElementType.METHOD 给方法注解
  • ElementType.TYPE 给类型注解,如类、接口、枚举
  • ElementType.ANNOTATION_TYPE 给注解注解
  • ElementType.CONSTRUCTOR 给构造方法注解
  • ElementType.FIELD 给属性注解
  • ElementType.LOCAL_VARIABLE 给局部变量注解
  • ElementType.PACKAGE 给包注解
  • ElementType.PARAMETER 给方法内的参数注解

@Inherited

  • 如果一个超类使用了被 @Inherited 注解过的注解,那么如果它的子类没有应用任何注解,那么这个子类就继承了超类的注解。

@Documented

  • @Documented注解标记的元素,Javadoc工具会将此注解标记元素的注解信息包含在javadoc中。默认,注解信息不会包含在Javadoc中。

@Repeatable

  • 为了解决注解不能在同一个地方重复使用而出现的。

你可能感兴趣的:(java)