一、反射是什么
框架设计的灵魂;
Java反射机制是在运行状态中,对于任意一个类,都能知道这个类的属性和方法,对于任意一个对象实例,都能调用它的属性和方法;这种动态获取信息、动态调用对象方法的功能称为Java语言反射机制。
二、反射可以做什么
对一个类进行解剖,把类中的成员变量、方法、构造方法、包等信息映射成一个个对象。
三、反射怎么实现
1、实现原理
从大佬那里截的图:
Class文件变为对象的过程以及反射获取对象的过程。

想要反射/解剖一个类,必须获取该类字节码文件对应的Class类型的对象。

Class类的实例表示正在运行的Java应用程序中的类和接口。Jvm中若干实例,每个类都对应有Class对象(包括基本数据类型)
Class没有公共构造方法,Class对象是在加载类时由jvm以及通过调类加载器中的defindeClass方法自动构造的。Jvm帮我们自动创建。
2、实例说明
Test包下的Student类:


网友评论