当前位置 博文首页 > 老子(道家):反射概述与Class对象的三种获取方式
Java反射机制:
? ? 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态获取的信息以及动态调用对象方法的功能称为Java语言的反射机制。
?
类加载器:
? ? 负责将.class文件加载到内存中,并为之生成对应的Class对象。
?
? ? ? ? ? ? ?也被称为引导类加载器,负责Java核心类的加载(如JDK中JRE的lib目录下的rt.jar文件)
? ? ? ? ? ? ?负责JRE的扩展目录中jar包的加载(如JDK中JRE的lib目录下的ext目录)
? ? ? ? ? ? ?负责在JVM启动时加载来自java命令的class文件,以及classpath环境变量所指定的jar包和类路径?
?
获取Class对象的三种方式:
package ms.gaoke.reflector;
/**
* Class类:
* 成员变量 Field
* 构造方法 Constructor
* 成员方法 Method
*
* 获取Class文件对象的方式:
* A: Object类的getClass()方法
* B: 数据类型的静态属性class
* C: Class类中的静态方法
* public static Class forName(String className)
*
*/
public class GetClassDemo {
public static void main(String[] args) throws ClassNotFoundException {
// 方式1
Person p1 = new Person();
Class c1 = p1.getClass();
// 方式2
Class c2 = Person.class;
// 方式3 开发中使用方式3
Class c3 = Class.forName("ms.gaoke.reflector.Person");
}
}
?
?
?
?
cs