1.反射机制的概述
1.反射机制,允许程序在执行期间借助Reflection API ,取得任何类的内部信息(比如成员变量、成员方法、构造器、注解等),并能操作对象的属性及方法。因此,反射在设计模式和框架底层都会用到。
2.加载完成类之后,就在堆中 产生了一个对应类的Class类型 的对象(Class类型 就像 java.lang.String一样,也是java中的一个类型;一个类只有一个Class对象 ),这个Class对象 包含了类的完整的结构信息。
3.可以通过Class对象 得到 对象的类的结构。这个对象就像一面镜子,通过镜子看到类的结构,因此称之为 : 反射。
2.图示来理解反射及java代码的运行过程
3.反射的功能
结合第二节中的图可以做到如下的理解:
Java反射机制可以完成如下功能:
1.在运行时判断一个对象所属的类;
2.在运行时构造任意一个类的对象;
3.在运行时得到任意一个类所具有的成员变量和方法;
4.在运行时调用任意一个对象的成员变量和方法;
5.生成动态代理。
4.反射相关的主要类
在反射机制中,使用到的主要类有如下:
java.lang.Class : 代表一个类,Class对象表示某个类加载后在堆中的对象;
java.lang.reflect.Method : 代表类的方法;
java.lang.reflect.Field : 代表类的成员变量;
java.lang.reflect.Constructor : 代表类的构造方法。
5. 完成
Congratulations! You are one step closer to success!
|