在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")
。但是,这种情况下,类加载器会使用默认的包(即无包),这可能会导致一些问题。因此,建议始终提供完整的类名(包括包名)。