Java 反射机制
-
是什么
运行时动态获取类的完整信息(构造、属性、方法),并动态调用对象成员的机制。
-
核心作用
- 运行时才知道要操作哪个类
- 动态创建对象、调用方法、修改属性
- 解耦、提高程序扩展性
- 核心类
- Class:代表一个类
- Constructor:构造方法
- Field:成员变量
- Method:成员方法
- 常用功能
- 获取 Class 对象
- 创建对象
- 获取 / 修改变量
- 调用方法
5.应用场景
框架底层(Spring、MyBatis)、动态代理、注解解析、单元测试。
- 反射特点
- 在程序运行阶段动态解析类结构,实现对象创建、成员调用
- 打破封装,可以访问类中私有成员
- 运行效率略低于直接调用,一般不用于高频执行代码
