Discuss / Java / 注解笔记

注解笔记

Topic source

厚天独到

#1 Created at ... [Delete] [Delete and Lock User]

元注解:

@Target

最常用的元注解是@Target。使用@Target可以定义Annotation能够被应用于源码的哪些位置:

  • 类或接口:ElementType.TYPE
  • 字段:ElementType.FIELD
  • 方法:ElementType.METHOD
  • 构造方法:ElementType.CONSTRUCTOR
  • 方法参数:ElementType.PARAMETER

@Retention

@Retention定义Annotation的生命周期:

  • 仅编译期:RetentionPolicy.SOURCE
  • 仅class文件:RetentionPolicy.CLASS
  • 运行期:RetentionPolicy.RUNTIME

@Repeatable

使用@Repeatable这个元注解可以定义Annotation是否可重复  //不常用

@Inherited

使用@Inherited定义子类是否可继承父类定义的Annotation

总结:

必须设置@Target@Retention@Retention一般设置为RUNTIME,因为我们自定义的注解通常要求在运行期读取。一般情况下,不必写@Inherited@Repeatable


  • 1

Reply