温馨提示×

class.forname怎样加载类

小樊
82
2024-10-16 16:59:12
栏目: 编程语言

在Java中,Class.forName()方法用于动态加载类。这个方法需要两个参数:

  1. 类名(包括包名):String className
  2. 是否初始化类:boolean initialize

Class.forName()方法返回一个Class对象,表示加载的类。

下面是一个简单的示例:

public class Main {
    public static void main(String[] args) {
        try {
            // 加载类,包括包名
            Class<?> clazz = Class.forName("java.util.ArrayList");

            // 输出类的全名
            System.out.println("Loaded class: " + clazz.getName());
        } catch (ClassNotFoundException e) {
            // 如果类未找到,输出异常信息
            e.printStackTrace();
        }
    }
}

在这个示例中,我们使用Class.forName()方法加载了java.util.ArrayList类,并输出了类的全名。注意,这里的类名包括包名。如果不提供包名,那么只提供类名即可。例如,要加载ArrayList类,可以写成Class.forName("ArrayList")。但是,这种情况下,类加载器会使用默认的包(即无包),这可能会导致一些问题。因此,建议始终提供完整的类名(包括包名)。

0