版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1、知識點(diǎn):反射調(diào)用普通方法如何利用反射進(jìn)行普通方法的調(diào)用2、具體內(nèi)容在類之中除了構(gòu)造方法之外,最為重要的還有普通方法,而利用反射也可以實(shí)現(xiàn)普通方法的調(diào)用,但是在講解之前有一點(diǎn)注意事項(xiàng)需要進(jìn)行說明:在進(jìn)行類中普通方法調(diào)用時(shí)必須已經(jīng)存在有類的實(shí)例化對象。于是根據(jù)此編寫如下的驗(yàn)證代碼。在 Class 類之中定義有如下的取得類之中方法的操作: 取得類之中的全部普通方法 取得類之中的指定方法范例:取得類之中的全部操作方法第(1)頁 共(6)頁package cn.demo;import java.lang.reflect.Method;class Book private String title ;
2、public void setTitle(String title) this.title = title ;public String getTitle() public Method getMethod(String name,Class. parameterTypes) throws NoSu ethodException,SecurityExceptionpublic Method getMethods() throws SecurityException通過 Method 類可以表示出方法的定義,那么這個(gè) Method 又是什么呢?在 Method 類之中有一個(gè)非常重要的方法:inv
3、oke 的單詞表示的是調(diào)用,實(shí)際上指的就是調(diào)用指定的對象操作方法。第(2)頁 共(6)頁package cn.demo;import java.lang.reflect.Method;public Object invoke(Object obj,Object. args)throws IllegalAc sException, IllegalArgumentException, InvocationExceptionreturn this.title ;public class TestDemo public sic void main(String args) throwsExceptio
4、n Class cls =Class.forName(cn.demo.Book) ;Method met = cls.getMethods() ; / 取得全部方法對象for (x = 0 ; x met.length ; x +) System.out.prln(metx);class Book private String title ;public void setTitle(Stringthis.title = title ;public String getTitle() return this.title ;title) public classpublic sException
5、ClassTestDemo ic void main(Stringargs)throwscls =Class.forName(cn.demo.Book) ;/ 實(shí)例化對象,此時(shí)沒有發(fā)生向下Object obj = cls.newInstance();Method setMet = cls.getMethod(setTitle,String.class) ;Method getMet = cls.getMethod(getTitle) ;setMet.invoke(obj, Java開發(fā)) ; / 對象.setTitle(Java開發(fā)) ;第(3)頁 共(6)頁同時(shí),在之前一直強(qiáng)調(diào),類之中的屬性
6、必須封裝,封裝后的屬性必須編寫 setter、getter。第(4)頁 共(6)頁package cn.demo;import java.lang.reflect.Method;class Book private String title ;public void setTitle(String title) this.title = title ;public String getTitle() return this.title ;public class TestDemo public sic void main(String args) throwsException / 已經(jīng)知道操
7、作的包.類名稱Class cls =System.out.prln(getMet.invoke(obj);Class.forName(cn.demo.Book) ;/ 已經(jīng)知道要操作的屬性名稱String attributeName = title ;/ 實(shí)例化對象,此時(shí)沒有發(fā)生向下Object obj = cls.newInstance() ; Method setMet = cls.getMethod(set +initcap(attributeName), String.class) ; Method getMet = cls.getMethod(get+initcap(attributeName) ;setMet.invoke(obj, Java開發(fā)) ; / 對象.setTitle(Java開發(fā)) ;System.out.prln(getMet.invoke(obj);/*實(shí)現(xiàn)單詞的首字母大寫param strreturn*/public sic String initcap(String str)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人事主管轉(zhuǎn)正申請書7篇
- 湘教版小學(xué)五年級上冊信息技術(shù)教案
- 2024年水輪機(jī)行業(yè)現(xiàn)狀分析:全球水輪機(jī)市場銷售額增長率為4.6%
- 2024年師德師風(fēng)總結(jié)
- 2023五四紅旗團(tuán)支部申報(bào)事跡材料
- 2024-2025學(xué)年初中信息技術(shù)(信息科技)七年級上冊長春版教學(xué)設(shè)計(jì)合集
- 廚房用具采購合同范本
- 2024-2025學(xué)年高中思想政治(選修5)生活中的法律常識人教版教學(xué)設(shè)計(jì)合集
- 人教版二年級語文上冊閱讀理解專項(xiàng)練習(xí)及答案
- 新人教版小學(xué)數(shù)學(xué)萬能說課稿10篇
- 第四單元測試卷-2024-2025學(xué)年語文六年級上冊統(tǒng)編版
- 2024年農(nóng)村自建房施工合同標(biāo)準(zhǔn)版本(四篇)
- 國開2024年秋《機(jī)械制圖》形考作業(yè)1-4答案
- JT-T 1495-2024 公路水運(yùn)危險(xiǎn)性較大工程專項(xiàng)施工方案編制審查規(guī)程
- 矩陣論知到章節(jié)答案智慧樹2023年哈爾濱工程大學(xué)
- 石膏板產(chǎn)品知識介紹PPT課件
- RECMF齒型三角帶規(guī)格
- 中國武術(shù)簡介英文PPT課件
- 生物質(zhì)氣化技術(shù)
- 高壓氧-PPT課件
- 學(xué)生公寓樓維修改造工程施工方案(可編輯)
評論
0/150
提交評論