反射
概念
反射指的是程序可以访问、检测和修改它本身状态或行为的一种能力。反射可以将类的各个组成部分分装为其他对象。
理解
框架
框架是半成品的软件,可以在框架的基础上进行软件开发,简化编码,而反射是框架的灵魂。
-
Java在计算机中经历的阶段:三个阶段
- source源代码阶段
- class类对象阶段
- 运行时阶段
-
class类:class类对象由成员变量(Field)、成员方法(Method)和构造方法(Constructor)等部分构成
-
获取class类对象方式
- class.forName(“全类名”):将字节码文件加载进内存,返回class对象。全类名要包括包名、类名。
- 该方法多用于配置文件,将类名定义在配置文件中,读取文件,加载类,框架中常用的方式。
- 通过类名.class( )方式来获取对象,这时文件已经加载到内存中了
- 多用于参数的传递
- 对象名.getClass方法:getClass方法在object类中定义。
- 多用于对象的获取字节码的方式。
- 重点:同一个字节码文件(*.class)在一次程序运行过程中,只会被加载一次,不论通过哪一种方式获取class类对象都是同一个。但获取其他方法对象、变量对象则不是同一个。
- class.forName(“全类名”):将字节码文件加载进内存,返回class对象。全类名要包括包名、类名。
-
class