反射机制:是Java语言一个非常重要的特性,它允许程序在运行时进行自我检查,同时也允许对其内部的成员进行操作
- 虽然在实际的开发中使用的并不是特别的多。而且像C或C++的特性中 根本就没有这种特性。
- 反射机制能够实现在运行时对类进行装载。因此可以大大的增加我们程序的灵活性。
- 一般情况下,程序中的对象的类型,在编译器就已经确定下来了,而当我们的程序在运行的时候,我们可能需要动态的加载一些类,但是这些类在之前并没有用到,所以它还没有加载到我们的虚拟机中,这个时候就可以使用反射机制进行加载。
- 反射机制的主要应用场景有
- 反编译 将.class文件转换成 .java文件
- 常用的框架中 如Spring的配置化,使用的就是反射这种机制来动态的加载对象
- IDEA编译器 会有自动联想类的方法或属性的功能
- 反射在调用方法的时候 会忽略权限检查,也就是说我们可以通过反射方法去调用类中的一个私有方法