详述java元注解

目录

一、@Target

二、@Retention

三、@Documented

四、@Inherited

五、@Repeatable


一、@Target

用于指定被修饰的自定义注解只能用于修饰程序中哪些元素,该元注解有如下属性值:
1、ElementType.ANNOTATION_TYPE:应用于其他注解的元注解
2、ElementType.CONSTRUCTOR:应用于构造函数
3、ElementType.FIELD:应用于全局属性
4、ElementType.LOCAL_VARIABLE:应用于方法中的本地变量
5、ElementType.METHOD:应用于方法
6、ElementType.PACKAGE:应用于
7、ElementType.PARAMETER:应用于方法的参数
8、ElementType.TYPE:应用于类、接口或者枚举声明

自定义@SuppressWarnings注解,限制该注解只能用于修饰属性、方法

 

二、@Retention

用于指定被修饰的自定义注解可以保留多久,该元注解有如下属性值:

1、RetentionPolicy.SOURCE:编译器将直接丢弃被修饰的注解
2、RetentionPolicy.CLASS默认值,编译器将把注解记录在class文件中,当运行Java程序时,虚拟机不再保留注解
3、RetentionPolicy.RUNTIME:编译器将把注解记录在class文件中,当运行java程序时,虚拟机保留注解,程序可以通过反射获取该注解

三、@Documented

执行javadoc命令时,被该元注解修饰的自定义注解也会生成在文档中,如下例:

Eclipse中进行如下操作:
1、选中java工程鼠标右键点击“Export…”,出现下图:

3、在上图红框处输入javadoc点击“Next >”按钮,出现下图:

说明:如果@Documented元注解没有修饰前面Override自定义注解,则生成的文档不会有如上图红框框起的部分


四、@Inherited

如果父类所使用的注解有@Inherited修饰,则子类可以继承该注解,否则不能继承。

五、@Repeatable

所修饰的自定义注解可以重复在同一类、方法或变量上使用。

代码3的等效(非“同”)于如下代码:

代码3等同(非“效”)于如下代码:

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值