问题引入
反射概述
反射简介
什么是反射呢?
我们知道,在java程序中,所有代码都是写在java文件中,然后通过编译器编译成class文件;
我们启动JVM执行程序时,JVM需要先将class文件加载到内存中,然后才可以使用;
JVM将一个class文件加载到内存中的时候,实际上会在内存中创建一个Class类的对象,表示这个类的字节码对象;
接下来要使用这个类,都是先创建好类的对象,通过对象操作类的成员。
例如我们使用一个Person类的过程:
而反射,就是通过一个类的class对象,直接获取类的各种成员,然后使用这些成员来操作类的对象;
所以Class类,就是反射的基础;