@Target、@Retention、@Inherited、@Documented 自定义注解理解整合

自定义注解定义配置注解整合说明

@Target 注解用来规定注解的作用目标
@Target 的参数可以是单个参数也可以是一个数组,如下都是可以的:
@Target(ElementType.FIELD)
@Target({ElementType.FIELD,ElementType.METHOD})
其参数可选项如下:
在这里插入图片描述
如上可以指定注解的作用目标,还需要指定注解的保留策略
@Retention 用于指定注解的保留策略,可有三种选择 如下:

  1. @Retention(RetentionPolicy.SOURCE) 表示注解只会存在于编写的源码中,编译后的class文件中不会保留
  2. @Retention(RetentionPolicy.CLASS) 表示注解会保留到编译后的class文件中,但在运行时失效
  3. @Retention(RetentionPolicy.RUNTIME) 表示注解会一直保留到代码运行时,在运行时生效

在这里插入图片描述
子类实现继承父类配置的注解:
@Inherited 自定义注解添加此注解可以实现注解类继承父类的注解。
注:此注解只有在自定义注解的作用目标为ElementType.TYPE才有用。

如下:父类Sup配置了自定义注解@CoLen,子类Sub继承了父类,同时会继承父类配置的注解

@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface CoLen {
	
}
@CoLen
public class Sup {
	
}
public class Sub extends Sup {
	
}

@Documented 配置了此注解,代表着此注解会被javadoc工具提取成文档,添加了此注解会在对应的javadoc中生成对应的说明信息。自定义注解中可用可不用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值