了解java的反射机制
Java反射,是程序运行时动态获取、操作类内部信息的高级特性:
1. 核心本质:运行中依托类唯一的 Class 字节码对象,反向拆解并操作类的属性、方法、构造器,哪怕编译阶段完全不知道这个类。
2. 获取入口:共有三种获取 Class 对象的主流方式(类名.class、对象.getClass()、Class.forName("全类名"))。
3. 核心能力:动态创建实例、调用任意方法、读写成员变量,甚至可以无视权限访问私有成员。
4. 应用价值:是Spring、MyBatis等主流Java框架的底层核心,大幅提升代码灵活性与扩展性。
5. 弊端:破坏面向对象封装、编译阶段无法校验错误、执行效率低于普通直接调用。
6. 区别于常规正向编程:普通代码编译期就确定全部逻辑,反射的所有操作,全部在程序运行阶段动态完成。

浙公网安备 33010602011771号