类装载器
类装载器就是寻找类的节码文件并构造出类在JVM内部表示对象的组件。在Java中,类装载器把一个类装入JVM中,需经过以下步骤:
-
装载:查找和导入Class文件
-
链接:执行校验(检查载入Class文件数据的正确性)、准备(给类的静态变量分配存储空间)和解析(将符号引用转换成直接引用)步骤,其中解析步骤是可以选择的
-
初始化:对类的静态变量、静态代码块执行初始化工作
public static Car initByDefaultConst() throws Throwable{ //1、通过类装载器获取类对象 ClassLoader loader = Thread.currentThread().getContextClassLoader(); Class clazz = loader.loadClass("testfanshejizhi.Car"); //2、获取类的默认构造器对象并通过它实例化该类 Constructor cons = clazz.getDeclaredConstructor((Class[])null); Car car = (Car)cons.newInstance(); //3、通过反射方法设置属性 Method setBrand = clazz.getMethod("setBrand", String.class); setBrand.invoke(car, "红旗CA72"); Method setColor = clazz.getMethod("setColor", String.class); setColor.invoke(car, "黑色"); Method setMaxSpeed = clazz.getMethod("setMaxSpeed", int.class); setMaxSpeed.invoke(car, 2000); return car; }