自定义注解

元注解

元注解就是修饰注解的注解。java中定义了6个元注解。常用的元注解。

1,@Retention

只能用于修饰注解定义,用于指定被修饰的注解可以保留多长时间,@Retention包含一个@RetentionPolicy类型的value成员变量,所以使用@Retention时必须为该value成员变量指定值。

value 成员变 的值只能是如下

  • RetentionPolicy.CLASS: 编译器将把注解记录在class文件中,当运行Java程序时JVM不可获取注解信息。这是默认值
  • RetentionPolicy.RUNTIM: 编译器将把注解记录在class文件中,当运行 Java程序时JVM可获取注解信息,程序可以通过反射获取该注解信息
  • RetentionPolicy.SOURCE: 注解只保留在源代码中,编译器直接丢弃这种注解

2,@Target

@Target 也只能修饰注解定义,它用于指定被修饰的注解能用于修饰哪些程序单元@Target 元注解也包含一个名为 value 的成员变,该成员变量的值只能是如下几个:

  • ElementType.ANNOTATION_TYPE: 指定该策略的注解只能修饰注解。
  • ElementType.CONSTRUCTOR: 定该策略的注解只能修饰构造器。
  • ElementType.FIELD: 指定该策略的注解只能修饰成员变量。
  • ElementType.LOCAL_VARIABLE: 定该策略的注解只能修饰局部变量
  • ElementType.METHOD: 指定该策略的注解只能修饰方法定义。
  • ElementType.PACKAGE: 指定该策略的注解只能修饰包定义。
  • ElementType.PARAMETER: 指定该策略注解可修饰参数
  • ElementType.TYPE: 定该策略的注解可以修饰类、接口(包括注解类型)或枚举定义

3,@Documented

@Documented 用于指定被该元注解修饰的注解类将被javadoc工具提取成文档,如果定义注解类时使用了@Documented修饰,则所有使用该注解修饰的程序元素的 API 文档中将会包含该注解说明

4,@Inherited

@Inherited元注解指定被它修饰的注解将具有继承性,如果某个类使用了@Xxx注解(定义该注解时使用了@Inherited修饰)修饰,则其子类将自动被@Xxx修饰。

 

本文借助于https://ke.qq.com/course/3292608?taid=10758910259641792 V哥教育的视频学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值