可以使用用于加载类的类加载器,通过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