一、反射的概念框架
构建框架技术的基础之一。运行时获取类的信息并调用类对象的方法的功能。spa
二、动态性质代理
2.1 运行时生成对象实例。对象
2.2 运行期间调用方法。编译
2.3 运行时更改属性。基础
三、实现功能反射
3.1 运行时判断任意一个对象所属的类。程序
3.2 运行时判断一个类所具备的方法和属性。方法
3.3 运行时构造任意一个类的对象。技术
3.4 运行时调用任意一个对象的方法。
3.5 生成动态代理。
四、应用场合
4.1 编译时类型与运行时类型
如:Person p = new Student();
编译时类型:Person (由声明该对象时的类型决定)
运行时类型:Student (有实际赋给该对象的类型决定)
4.2 场合
程序在运行时接收到外部传入的对象,该对象的编译时类型为Object,程序须要调用该对象运行时类型的方法。
为了解决这个问题,程序须要在运行时发现对象和类的真实信息,必须使用反射。