自定义接口注解

@Documented – 注解是否将包含在JavaDoc中
@Retention – 什么时候使用该注解
@Target – 注解用于什么地方
@Inherited – 是否允许子类继承该注解
@Repeatable - 是否可重复注解,jdk1.8引入

@Retention 定义注解的生命周期

  • RetentionPolicy.SOURCE :

    仅存在于源代码中,编译阶段会被丢弃,不会包含于class字节码文件中。@Override, @SuppressWarnings都属于这类注解。

  • RetentionPolicy.CLASS :

    默认策略,在class字节码文件中存在,在类加载的时被丢弃,运行时无法获取到。
    RetentionPolicy.RUNTIME : 始终不会丢弃,可以使用反射获得该注解的信息。自定义的注解最常用的使用方式。

@Target 注解的作用目标

  • ElementType.TYPE:

    类、接口、注解、enum

  • ElementType.CONSTRUCTOR:

    构造函数

  • ElementType.FIELD:

    成员变量、对象、属性、枚举的常量

  • ElementType.LOCAL_VARIABLE:

    局部变量

  • ElementType.METHOD:

    方法

  • ElementType.PACKAGE:

  • ElementType.PARAMETER:

    参数

  • ElementType.ANNOTATION_TYPE:

    注解

  • ElementType.TYPE_PARAMETER

    类型参数,表示这个注解可以用在 Type的声明式前,jdk1.8引入。

  • ElementType.TYPE_USE

    类型的注解,表示这个注解可以用在所有使用Type的地方(如:泛型,类型转换等),jdk1.8引入。

@Inherited

定义该注解和子类的关系,使用此注解声明出来的自定义注解,在使用在类上面时,子类会自动继承此注解,否则,子类不会继承此注解。注意,使用Inherited声明出来的注解,只有在类上使用时才会有效,对方法,属性等其他无效。*

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值