一.反射是什么
所谓反射,本来是JAVA虚拟机自己使用的一个机制,在类加载时期产生一个Class对象,这个对象记录了这个类的所有信息,除了注释。现在是指在Java中,可以再运行期载入、探知和使用编译期完全未知的类的一种机制。
二.反射做什么
Java程序可以装在一个运行期才得到名称的类,并创建对象、或者对类的成员变量设定值、或调用其方法。
三.反射与动态多态的关系
四.类加载的机制
1.类加载
由类加载器完成,类的class文件读入内存后,就会创建一个java.lang.Class对象(类模板对象)。一旦某个类被载入JVM中,同一个类就不会再次被载入。
一个类的类模板对象只有一个,但是实例对象可以有无数个。
2.连接
把类的二进制文件合并到JRE中。
3.初始化
JVM负责对类进行初始化,也就是对静态属性进行初始化。在Java类中,对静态属性指定初始值的方式有两种:(1)声明静态属性时指定初始值(2)使用静态初始化块为静态属性指定初始值。
五.反射使用步骤
1.获得你想操作的类的java.lang.Class对象。
- 调用来自实例对象继承自Object的getClass()方法获取实例对象
DogBean dog =