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