在Java 中依名稱實例化類別
Java 提供了兩種透過傳遞字串名稱來實例化類別的方法:
1。使用反射與無參構造函數
如果目標類別有無參構造函數,則可以使用 Class.forName() 方法取得 Class 物件。隨後,呼叫newInstance()方法建立實例:
Class<?> clazz = Class.forName("java.util.Date"); Object date = clazz.newInstance();
2.對帶或不帶無參數建構函數的類別使用反射
要獲得適用於帶或不帶無參數建構函數的類別的更全面的方法,請按照以下步驟操作:
Class<?> clazz = Class.forName("com.foo.MyClass"); Constructor<?> constructor = clazz.getConstructor(String.class, Integer.class); Object instance = constructor.newInstance("stringparam", 42);
注意: 兩種方法都涉及反射,應謹慎使用反射,因為它可以規避 Java 的異常處理和安全約束。
以上是如何僅使用 Java 類別的字串名稱來實例化它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!