Java注解的Retention和RetentionPolicy实例分析
本文实例讲述了Java注解的Retention和RetentionPolicy。分享给大家供大家参考,具体如下:
一 源码赏析
1 源码
@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Retention { RetentionPolicy value(); } public enum RetentionPolicy { //此注解类型的信息只会记录在源文件中,编译时将被编译器丢弃,也就是说 //不会保存在编译好的类信息中 SOURCE, //编译器将注解记录在类文件中,但不会加载到JVM中。如果一个注解声明没指定范围,则系统 //默认值就是Class CLASS, //注解信息会保留在源文件、类文件中,在执行的时也加载到Java的JVM中,因此可以反射性的读取。 RUNTIME }
2 说明
Retention:(中文含义为“保留”)来定义一个注解的保存范围。
@Documented:将自定义注解设置为文档说明信息。
3 赏析内置注解的 Retention
@Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) //注解信息只能在源文件中出现 public @interface Override { } @Documented @Retention(RetentionPolicy.RUNTIME) //注解信息在执行时出现 @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE}) public @interface Deprecated { } @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}) @Retention(RetentionPolicy.SOURCE) //注解信息在源文件中出现 public @interface SuppressWarnings { String[] value(); }
二 自定义注解的保存范围
1 代码
//定义该自定义注解的保存范围是RUNTIME @Retention(value = RetentionPolicy.RUNTIME) @interface AnnoationRetention { public String value(); }
2 说明
AnnoationRetention的注解信息会保留在源文件、类文件以及Java虚拟机中。
更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
相关文章
Object.wait()与Object.notify()的用法详细解析
以下是对java中Object.wait()与Object.notify()的用法进行了详细的分析介绍,需要的朋友可以过来参考下2013-09-09springboot整合mybatis plus与druid详情
这篇文章主要介绍了springboot整合mybatis plus与druid详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的下伙伴可以参考一下2022-09-09springboot整合shardingjdbc实现分库分表最简单demo
我们知道分库分表是针对某些数据量持续大幅增长的表,比如用户表、订单表等,而不是一刀切将全部表都做分片,这篇文章主要介绍了springboot整合shardingjdbc实现分库分表最简单demo,需要的朋友可以参考下2021-06-06IDEA 服务器热部署图文详解(On Update action/On frame deactivation)
这篇文章主要介绍了IDEA 服务器热部署详解(On Update action/On frame deactivation),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03java客户端Jedis操作Redis Sentinel 连接池的实现方法
下面小编就为大家带来一篇java客户端Jedis操作Redis Sentinel 连接池的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-03-03
最新评论