java反射的原理是什么
作者:NorthPath
时间:2023-05-01
浏览:1
1.调用反射的流程(1)准备阶段:编译期装载所有的类,将每个类的元信息保存至Class类对象中,每一个类对应一个Class对象(2)获取Class对象:调用x.class/x.getClass()/Class.forName()获取x的Class对象clz(这些方法的底层都是native方法,是在JVM底层编写好的,涉及到了JVM底层,就先不进行探究了)(3)进行实际反射操作:通过clz对象获取Field/Method/Constructor对象进行进一步操作2.获取class类要想通过反射获取一个类的信
本文目录
1.调用反射的流程
(1)准备阶段:编译期装载所有的类,将每个类的元信息保存至Class类对象中,每一个类对应一个Class对象
(2)获取Class对象:调用x.class/x.getClass()/Class.forName() 获取x的Class对象clz(这些方法的底层都是native方法,是在JVM底层编写好的,涉及到了JVM底层,就先不进行探究了)
(3)进行实际反射操作:通过clz对象获取Field/Method/Constructor对象进行进一步操作
2.获取class类
要想通过反射获取一个类的信息,首先要获取该类对应的Class类实例,Class类的实例代表了正在运行中的Java应用的类和接口。Class类没有公共的构造方法,Class类对象是在二进制字节流(一般是.class文件,也可通过网络或zip包等路径获取)被JVM加载时,通过调用类加载器的defineClass()方法来构建的。
/**
* Instances of the class {@code Class} represent classes and
* interfaces in a running Java application.
* {@code Class} has no public constructor. Instead {@code Class}
* objects are constructed automatically by the Java Virtual Machine as classes
* are loaded and by calls to the {@code defineClass} method in the class
* loader.
*/
public final class Class implements java.io.Serializable,GenericDeclaration,Type,AnnotatedElement {
......
}
作者最新文章
如何通过EMRAI助手查询EMR组件相关问题
2026-11-01 16:16
EndNote Windows版官方下载与安装教程:许可确认到Word插件验证
2026-10-30 09:21
WinRAR压缩文件教程:参数设置与分卷压缩技巧
2026-10-29 09:38
华硕5070显卡提升AI创作效率
2026-10-27 11:04
navicat怎么设置自增主键及具体操作步骤
2026-10-22 22:43
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































