在 Java 中動態建立實例
透過名稱實例化類別是程式設計中經常遇到的場景。 Java 提供了多種方法來實現此目的。
方法1:對於具有無參數建構子的類別
對於具有無參(no-arg)建構子的類,可以使用Class.forName()方法。它會傳回一個 Class 對象,隨後的 newInstance() 方法會建立指定類別的實例。
Class<?> clazz = Class.forName("java.util.Date"); Object date = clazz.newInstance();
方法 2:更通用的方法
這個當類別可能沒有無參數建構子時,方法是首選。它涉及獲取 Constructor 對象,然後調用其 newInstance() 方法。
Class<?> clazz = Class.forName("com.foo.MyClass"); Constructor<?> constructor = clazz.getConstructor(String.class, Integer.class); Object instance = constructor.newInstance("stringparam", 42);
注意事項
這兩種方法都使用反射,在以下情況下可能會導致異常:
以上是如何動態建立Java實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!