可以使用用于加载类的类加载器,通过java.lang.Class.forName(String name,boolean initialize,ClassLoader loader)方法返回与具有给定字符串名称的类关联的类对象。
该forName()方法中的参数是名称,初始化和加载程序。如果参数加载器的值为null,则使用引导类加载器加载该类。同样,如果initialize参数为true,则只有在尚未早期初始化的情况下才初始化该类。
使用该forName()方法加载类的程序如下所示-
示例import java.lang.*;
public class Demo {
public static void main(String[] args) {
try {
Class c1 = Class.forName("Demo");
ClassLoader classLoader = c1.getClassLoader();
Class c2 = Class.forName("java.lang.String", true, classLoader);
System.out.println("Class = " + c1.getName());
System.out.println("Class = " + c2.getName());
}
catch(ClassNotFoundException e) {
System.out.println("Excepton: " + e.toString());
}
}
}
输出结果Class = Demo
Class = java.lang.String