winJay-java技术之反射,Java技术之注解笔记

本文深入探讨了Java反射机制的应用,包括如何在运行时获取类的信息并调用其成员方法。同时,详细介绍了不同类型的Java注解及其应用场景,如运行时注解的使用和编译时注解的作用。


http://www.jianshu.com/p/c22913b6b49e  Java技术之反射 

基于上面两个实践,我们已经能够利用反射机制,在运行状态下把一个 Class 的内部成员方法、成员变量和构造函数全部获取到,并且能够进行实例化、直接调用内部的成员方法。

因此,有了反射机制,我们即使只有动态得到的 Class,也能直接得到它内部的信息、甚至调用它内部的方法。



http://www.jianshu.com/p/eff0f01faa91  Java技术之注解 Annotation

对于 Java 代码从编写到运行有三个时期:代码编辑;编译成 .class 文件;读取到 JVM 运行。针对这三个时期有三种 Annotation 对应:

RetentionPolicy.SOURCE  // 只在代码编辑期生效

RetentionPolicy.CLASS  // 在编译期生效,默认值

RetentionPolicy.RUNTIME // 在代码运行时生效


1.1. 代码编辑时注解
这种 Annotation 只存在于代码编辑阶段(RetentionPolicy.SOURCE),主要功能是让 IDE 来为开发者提供 warning 检查。这一类注解只会在编辑代码时生效,当编译器把 .java 文件编译成 .class 文件时会自动丢弃。

比较常用的有 SuppressWarnings,Override。

2.2. 运行时注解
这一类注解是开发者广泛使用的。基本原理是利用反射机制在代码运行过程中动态地执行一些操作


3.3 编译时注解
我们知道,Java 源代码编译的过程会对所有的文件进行扫描,而编译时 Annotation 的作用就是在编译过程中生成代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值