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
的類,然后創建一個新的實例。注意,這里我們使用了反射來調用類的默認構造函數。