呼叫建構函式
獲取建構函式物件
你可以從 Class
物件獲取 Constructor
類,如下所示:
Class myClass = ... // get a class object
Constructor[] constructors = myClass.getConstructors();
constructors
變數將為類中宣告的每個公共建構函式提供一個 Constructor
例項。
如果你知道要訪問的建構函式的精確引數型別,則可以過濾特定的建構函式。下一個示例返回給定類的公共建構函式,該建構函式將 Integer
作為引數:
Class myClass = ... // get a class object
Constructor constructor = myClass.getConstructor(new Class[]{Integer.class});
如果沒有建構函式匹配給定的建構函式引數,則丟擲 NoSuchMethodException
。
使用建構函式物件的新例項
Class myClass = MyObj.class // get a class object
Constructor constructor = myClass.getConstructor(Integer.class);
MyObj myObj = (MyObj) constructor.newInstance(Integer.valueOf(123));