1、用Class物件的newInstance()方法製作物件
(1)取得類別Class物件。
(2)透過呼叫獲得的Class對象的newInstance()獲得對象,該方法將傳回Object類型的對象,因此需要強制旋轉
2、透過Constructor類別newInstance ()取得
(1)取得一種Class實例
(2)呼叫Class中的getConstructor()方法取得Constructor物件
(3)調用Constructor的newInstance()方法取得類別的實例
3、實例
Class clazz=Dog.class; Constructor constructor=clazz.getConstructor(String.class,int.class}); Dog dog=(Dog) constructor.newInstance("xiaohei",3}); System.out.println(dog.name+" "+dog.age);
程式的第二行我們呼叫Class物件的getConstructor方法,然後在參數列表中傳入String和int,因為我們的有參構造函數的參數列表就是這樣規定的,現在我們就獲取到了前邊定義好的Dog類別的有參構造函數了。
第三行我們透過取得的Constructor物件呼叫newInstance方法,然後在方法中傳入Object類型的參數列表,因為我們的有參構造函數需要這些值,這樣就可以透過反射的方式創建只有有參構造函數的物件了。
以上是如何使用java反射創建對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!