今天就跟大家聊聊有關(guān)怎么在java中利用反射創(chuàng)建對象,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)專注于西烏珠穆沁網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供西烏珠穆沁營銷型網(wǎng)站建設(shè),西烏珠穆沁網(wǎng)站制作、西烏珠穆沁網(wǎng)頁設(shè)計、西烏珠穆沁網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造西烏珠穆沁網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供西烏珠穆沁網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
Java是一門面向?qū)ο缶幊陶Z言,可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序。
1、用Class對象的newInstance()方法制作對象
(1)獲得類Class對象。
(2)通過調(diào)用獲得的Class對象的newInstance()獲得對象,該方法將返回Object類型的對象,因此需要強(qiáng)制旋轉(zhuǎn)
2、通過Constructor類newInstance()獲得
(1)獲得一種Class實例
(2)調(diào)用Class中的getConstructor()方法獲得Constructor對象
(3)調(diào)用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);
程序的第二行我們調(diào)用Class對象的getConstructor方法,然后在參數(shù)列表中傳入String和int,因為我們的有參構(gòu)造函數(shù)的參數(shù)列表就是這樣規(guī)定的,現(xiàn)在我們就獲取到了前邊定義好的Dog類的有參構(gòu)造函數(shù)了。
第三行我們通過獲取的Constructor對象調(diào)用newInstance方法,然后在方法中傳入Object類型的參數(shù)列表,因為我們的有參構(gòu)造函數(shù)需要這些值,這樣就可以通過反射的方式創(chuàng)建只有有參構(gòu)造函數(shù)的對象了。
看完上述內(nèi)容,你們對怎么在java中利用反射創(chuàng)建對象有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。