java反射的核心理解

java反射的核心理解

ID:40556969

大小:21.03 KB

頁數:13頁

時間:2019-08-04

java反射的核心理解_第1頁
java反射的核心理解_第2頁
java反射的核心理解_第3頁
java反射的核心理解_第4頁
java反射的核心理解_第5頁
資源描述:

《java反射的核心理解》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、反射:一切的操作都將使用Object完成如果已經有一個類,則肯定可以通過類創(chuàng)建對象;那么如果現(xiàn)在要求通過一個對象找一個類的名稱,此時就需要用到反射機制了。public?final?Class?getClass()返回類型是一個Class類,實際上此類是Java反射的源頭。所謂反射從程序的運行結果來看也很好理解,即可以通過對象反射求出類的名稱:如下:正常方式:引入需要的"包.類"名稱->通過new實例化->取得實例化對象反射方式:實例化對象->getClass()方法->得到完整的”包.類“名稱?提示:所有類的對象實際

2、上都是Class類的實例。在java中Object類是一切類的父類,那么所有類的對象實際上也就都是java.lang.Class類的實例所以所有的對象都可以轉變?yōu)閖ava.lang.Class類型表示?Class本身表示一個類的本身,通過Class可以完整地得到一個類中的完整結構,包括此類中的方法定義和屬性定義等。常用方法:1)?public?static?Class?forName(String?className)?throws?ClassNotFoundException傳入完整的“包.類”名稱實例化Cl

3、ass對象2)?public?Constructor[]?getConstructors()throws?SecurityException得到一個類中的全部構造方法3)public?Field[]?getDeclaredFields()throws?SecurityException得到本類中單獨定義的全部屬性4)public?Field[]?getFields()throws?SecurityException得到本類繼承而來的全部屬性5)?public?Method[]getMethods()throws?Se

4、curityException得到一個類中?的全部方法6)?public?Method?getMethod(String?name,Class...parameter?Types)throws?NoSuchMethodException,SecurityException返回一個Method對象,并設置一個方法中的所有參數類型7)?public?Class[]?getInterfaces()??得到一個類中所有實現(xiàn)的全部接口8)?public?String?getName()??得到一個類完整的"包.類"名稱9)?p

5、ublic?Package?getPackage()得到一個類的包10)?public?Class?getSuperclass()得到一個類的父類11)?public?Object?newInstance()throws?InstantiantionException,IllegalAccessException根據Class?定義的類實例化對象12)?public?ClassgetComponentType()?返回表示數組類型的Class13)?public?boolean?isArray()?判斷此Cla

6、ss是否是一個數組Class類本身沒有定義構造方法,所以如果要使用則首先必須通過forName()方法實例化對象,也可以使用“類.class”或“對象.getClass()”方法實例化調用有參數構造實例化對象:只有在操作時需要明確地調用類中的構造方法,并將參數傳遞進去之后才可以進行實例化操作:步驟:(1)通過Class類中的getConstructors()取得本類中的全部構造方法(2)向構造方法中傳遞一個對象數組進去,里面包含了構造方法中所需的各個參數(3)之后通過Constructor實例化對象此處使用了Cons

7、trutor類,表示構造方法。常用方法如下:public?int?getMedifiers()得到構造方法的修飾符public?String?getName()得到構造方法的名稱public?Class[]getParameterType()得到構造方法中參數的類型pubic?String?toString()??返回此構造方法的信息public?T?newInstance(Object...initrgs)throws?InstantiationException,IllegalAccessException

8、,IllegalArgumentException,InvocationTargetException向構造方法中傳遞參數,實例化對象反射的應用--取得類的結構:在java.lang.reflect包中有以下幾個類:Constructor:表示類中的構造方法Field:表示類中的屬性Method:表示類中的方法這三個類都是AccessibleO

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。