Java 反射机制是在运行状态中,通过一个类的 class 对象,获取这个类的属性和方法,接口等信息。这种动态获取信息,动态调用对象的方法,被称为 Java 的反射。原理是,Java 在编译之后会生成一个 .class 文件,反射是通过字节码文件找到某一个类中的所有信息和方法的。
反射的作用:在任意一个方法里,
- 如果我知道一个类的名称 or 他的一个实例对象,我就能把这个类的所有方法、变量的信息都给找出来。
- 如果知道这个方法中某个变量的值,我还能得到当前变量的值。
- 如果知道方法类中某个方法名、参数个数与类型,我还能通过传递参数来运行那个类中的方法。
反射机制提供了下面的功能。
- 在运行时判断任意一个对象所属的类。
- 在运行时构造任意一个类的对象。
- 在运行时判断任意一个类所具有的成员变量和方法。
- 在运行时调用任意一个对象的方法。
- 生成动态代理。