反射相关的主要api
- java.lang.Class:代表一个类
- java.lang.reflect.Method:代表类的方法
- java.lang.reflect.Field:代表类的成员变量
- java.lang.reflect.Constructor:代表类的构造器
关于java.lang.Class类的理解
Class的简单理解
要想理解Class类,首先要先知道类的加载过程。
类的加载过程:程序经过javac.exe命令以后,会生成一个或多个字节码文件(.class结尾),接着我们使用java.exe命令对某个字节码文件进行解释运行,相当于将某个字节码文件加载到内存中,此过程就是类的加载,加载到内存中的类,我们就成为运行时类,此运行时类,就作为Class类的一个对象实例。Class类的实例就对应一个运行时类。
获取Class实例的方式
- 调用运行时类的属性:.class
- 通过运行时类的对象:调用getClass()
- 调用Class的静态方法:forName(String classPath)
- 使用类的加载器:ClassLoader