用Java中的forName()方法加载类

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