一、什么是反射?
Reflection:反射被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性和方法。
框架 = 反射 + 注解 + 设计模式
二、反射的动态性
Class test = Class.forName(classPath),这段代码主要是解释“classPath”是变量的情况下,在运行期间可以获取不同的类,因此体现了在运行期间的动态性。
三、反射的功能
1.在运行期判断任意一个对象所属的类
2.在运行期构造任意一个类的对象
3.在运行期判断任意一个对象所具有的成员变量和方法
4.在运行期获取泛型信息
5.在运行期调用任意一个对象的成员变量和方法
6.在运行期处理注解
7.生成动态代理
四、创建类对象的方式
1.new + 构造器
2.用该类的静态方法
3.反射
五、实现反射相关的API
1.java.lang.Class 反射的源头
2.java.lang.reflect.Method
3.java.lang.reflect.Field
4.java.lang.reflect.constructor
…