温馨提示×

forname动态加载类的方法是什么

小樊
83
2024-09-03 00:08:35
栏目: 编程语言

Class.forName() 是 Java 中用于动态加载类的一种方法。它允许你在运行时加载和实例化一个类,而不需要在编译时知道这个类的名称。这对于插件系统、框架和库等场景非常有用,因为它们可以在运行时动态地加载和使用其他类。

Class.forName() 方法的签名如下:

public static Class<?> forName(String className) throws ClassNotFoundException

参数:

  • className:要加载的类的完全限定名(包括包名)。

返回值:

  • 返回一个表示加载的类的 Class 对象。

异常:

  • 如果找不到指定的类,将抛出 ClassNotFoundException

使用示例:

try {
    Class<?> clazz = Class.forName("com.example.MyClass");
    Object instance = clazz.getDeclaredConstructor().newInstance();
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
    e.printStackTrace();
}

在这个示例中,我们使用 Class.forName() 动态加载名为 com.example.MyClass 的类,然后创建一个新的实例。注意,这里我们使用了反射来调用类的默认构造函数。

0