为了账号安全,请及时绑定邮箱和手机立即绑定

自定义JAVA注解

标签:
Java

元注解

元注解指用来定义注解的注解,例如:@Retention @Target Inherited @Documented等等。最为重要和经常使用的是@Retention @Target

@Retention

@Retention用于定义注解生效的返回,取值类型为RetentionPolicyRetentionPolicy是一个枚举类,定义了三种值:

  • SOURCE:注解只存在源码中,编译后就回被消除,例如:@Override @SuppressWarnings等。
  • CLASS:注解存在于源码和编译后的字节码文件中,但是运行时无法获取注解信息。
  • RUNTIME:注解在运行时仍然生效,例如@Deprecated等。

@Target

@Target用于定义注解作用的对象,取值类型为ElementTypeElementType是一个枚举类,定义了一下几种值:

  • TYPE:作用在类、接口和枚举。
  • FIELD:作用在属性上,包括枚举变量的常量属性。
  • METHOD:作用在方法。
  • PARAMETER:作用在方法中参数。
  • CONSTRUCTOR:作用在构造方法。
  • LOCAL_VARIABLE:作用在局部变量。
  • ANNOTATION_TYPE:作用在注解类型。
  • PACKAGE:作用在包。

注解定义

JAVA注解使用@interface定义,基本的形式如下:

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface RuntimePrinter {
    String name;
}

注解解析

注解解析使用JAVA反射机制,在ClassField类中有如下方法,经常被使用在注解解析中。

  • isAnnotationPresent:是否存在制定注解
  • getAnnotation:获取标注的注解对象
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消