在Java中,Class.forName()
方法用于动态加载类。这个方法需要两个参数:
String className
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")
。但是,这种情况下,类加载器会使用默认的包(即无包),这可能会导致一些问题。因此,建议始终提供完整的类名(包括包名)。