版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一、預(yù)先需要掌握的知識(java虛擬機(jī))java虛擬機(jī)的方法區(qū):java虛擬機(jī)有一個(gè)運(yùn)行時(shí)數(shù)據(jù)區(qū),這個(gè)數(shù)據(jù)區(qū)又被分為方法區(qū),堆區(qū)和棧區(qū),我們這里需要了解的主要是方法區(qū)。方法區(qū)的主要作用是存儲被裝載的類的類型信息,當(dāng)java虛擬機(jī)裝載某個(gè)類型的時(shí)候,需要類裝載器定位相應(yīng)的class文件,然后將其讀入到j(luò)ava虛擬機(jī)中,緊接著虛擬機(jī)提取class中的類型信息,將這些信息存儲到方法區(qū)中。這些信息主要包括:1、這個(gè)類型的全限定名2、這個(gè)類型的直
2、接超類的全限定名3、這個(gè)類型是類類型還是接口類型4、這個(gè)類型的訪問修飾符5、任何直接超接口的全限定名的有序列表6、該類型的常量池7、字段信息8、方法信息9、除了常量以外的所有類變量10、一個(gè)到class類的引用等等(讀者可以參考《深入java虛擬機(jī)》這本書的敘述)Class類:Class類是一個(gè)非常重要的java基礎(chǔ)類,每當(dāng)裝載一個(gè)新的類型的時(shí)候,java虛擬機(jī)都會在java堆中創(chuàng)建一個(gè)對應(yīng)于新類型的Class實(shí)例,該實(shí)例就代表此類型,
3、通過該Class實(shí)例我們就可以訪問該類型的基本信息。上面說到在方法區(qū)中會存儲某個(gè)被裝載類的類型信息,我們就可以通過Class實(shí)例來訪問這些信息。比如,對于上面說到的信息Class中都有對應(yīng)的方法,如下:1、getName();這個(gè)類型的全限定名2、getSuperClass();這個(gè)類型的直接超類的全限定名3、isInterface();這個(gè)類型是類類型還是接口類型MethodgetMethod(StringnameClass[]par
4、ams)使用特定的參數(shù)類型,獲得命名的公共方法Method[]getMethods()獲得類的所有公共方法MethodgetDeclaredMethod(StringnameClass[]params)使用特寫的參數(shù)類型,獲得類聲明的命名的方法Method[]getDeclaredMethods()獲得類聲明的所有方法應(yīng)用反射的基本步驟:1、獲得你想操作的類的Class對象;方法一:Classc=Class.fName(“java.la
5、ng.String“)方法二:對于基本數(shù)據(jù)類型可以用形如Classc=int.class或Classc=Integer.TYPE的語句方法三:Classc=MyClass.class2、調(diào)用Class中的方法得到你想得到的信息集合,如調(diào)用getDeclaredFields()方法得到類的所有屬性;3、處理第2步中得到的信息,然后進(jìn)行你想做的實(shí)際操作。反射實(shí)例:下面我將針對類的構(gòu)造器、屬性和方法分別舉三個(gè)例子,向大家演示一下反射的應(yīng)用過程
6、。1、構(gòu)造器步驟為:通過反射機(jī)制得到某個(gè)類的構(gòu)造器,然后調(diào)用該構(gòu)造器創(chuàng)建該類的一個(gè)實(shí)例imptjava.lang.reflect.publicclassConstructDemopublicConstructDemo()publicConstructDemo(intaintb)System.out.println(“a=“a“b=“b)publicstaticvoidmain(Stringargs[])tryClasscls=Class
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java反射機(jī)制
- 時(shí)域反射計(jì)tdr原理
- 網(wǎng)絡(luò)爬蟲java實(shí)現(xiàn)原理
- 反射隔熱保溫涂料隔熱原理
- java proxy和rtti(反射)實(shí)現(xiàn)動態(tài)代理工廠
- java內(nèi)存原型及工作原理簡介
- 全內(nèi)反射熒光成像基本原理
- 擴(kuò)展頻譜反射計(jì)的原理及其應(yīng)用.pdf
- 反射式瞄準(zhǔn)鏡原理及其應(yīng)用介紹
- 基于反射機(jī)制的輕量級Java持久層框架設(shè)計(jì)與實(shí)現(xiàn).pdf
- 特殊模糊過程的反射原理和首達(dá)時(shí).pdf
- 《java編程語言原理與范例》課后實(shí)驗(yàn)源代碼
- 基于日光定向反射原理的定日鏡系統(tǒng)的研制.pdf
- 經(jīng)典低應(yīng)變反射波法的基本原理
- 經(jīng)典低應(yīng)變反射波法的基本原理
- 鏡面反射與漫反射
- 角膜反射和對光反射
- Java智能卡原理與應(yīng)用技術(shù)研究.pdf
- 反射模式時(shí)域熒光分子層析原理的模擬和實(shí)驗(yàn)研究.pdf
- 基于內(nèi)反射原理測量小角度變化量的技術(shù)研究.pdf
評論
0/150
提交評論