网站首页 > java教程 正文
介绍
本文将讨论用Java创建注解的方法。还有如何将注解应用于其他声明。最后,讨论一下如何在运行时使用Reflection获得注解信息。
背景
注解是J2SE 5引入的一项新功能,允许程序员将称为元数据的其他信息嵌入Java源文件中。注解不会改变程序的执行,但是在开发和部署期间,各种工具都可以使用使用注解嵌入的信息。
使用代码
创建注解与创建接口相似。只不过注解声明前面有一个@符号。注解声明本身使用注解进行@Retention注解。该@Retention注解用于指定保留策略,可以是SOURCE,CLASS或RUNTIME。
- RetentionPolicy.SOURCE 仅在源文件中保留注解,并在编译期间将其丢弃。
- RetentionPolicy.CLASS将注解存储在.class文件中,但在运行时不可用。
- RetentionPolicy.RUNTIME将注解存储在.class文件中,并使其在运行时可用。
注解会隐式扩展Annotation接口。注解的主体由不带主体的方法声明组成。这些方法像字段一样工作。
在上面的例子中,我已经创建了两个部件,author并date以表示关于创建者的信息,并且类和方法的写入日期。
创建注解后,可以将其应用于类,方法,字段,参数,枚举等。在对声明应用注解时,必须为其成员提供如下值:
可以在运行时使用Reflection来查询注解,如下所示:
在上面的代码中,我查询了应用于类Test以及method的注解testMethod()。
要获取该类的注解信息,请使用以下语句:
要获取该方法的注解信息,请使用以下语句:
通过使用注解对象来打印注解信息。
问题:注解声明后,在运行期如何查询它的信息?
答:使用Reflection来查询注解
————END————
猜你喜欢
- 2024-09-21 Java基础:注解,改变了编程的体验
- 2024-09-21 人手必备!Java8中的注解,你必须知道的几点
- 2024-09-21 Java 进阶之 注解(java中注解如何实现的)
- 2024-09-21 java注解的使用(java注解的实现原理)
- 2024-09-21 不吹牛,撸个注解有什么难的(不吹牛的道理)
- 2024-09-21 终于弄懂了Spring@Component @Repository@Service的区别
- 2024-09-21 2020年最新Java全套教程注解(2020年最新兵役法)
- 2024-09-21 你知道Spring是如何处理注解的吗?
- 2024-09-21 注解梳理:深入理解Java注解类型(@Annotation)
- 2024-09-21 Java中的注解到底是如何工作的?(注解 java)
你 发表评论:
欢迎- 最近发表
-
- class版本不兼容错误原因分析(class更新)
- 甲骨文Oracle公司为Java的最新LTS版本做出改进
- 「版本发布」Minecraft Java开发版 1.19.4-pre1 发布
- java svn版本管理工具(svn软件版本管理)
- 我的世界1.8.10钻石在第几层(我的世界1.7.2钻石在哪层)
- Java开发高手必备:在电脑上轻松切换多个JDK版本
- 2022 年 Java 开发报告:Java 8 八年不到,开发者都在用什么?
- 开发java项目,选择哪个版本的JDK比较合适?
- Java版本选型终极指南:8 vs 17 vs 21特性对决!大龄程序员踩坑总结
- POI Excel导入(poi excel导入附件)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)