自定义接口注解

自定义接口注解,第1张

@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声明出来的注解,只有在类上使用时才会有效,对方法,属性等其他无效。*

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/905818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-15
下一篇 2022-05-15

发表评论

登录后才能评论

评论列表(0条)

保存