更新時(shí)間:2020-05-06 12:13:55 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2572次
要理解反射首先要理解特性的概念,因?yàn)榉瓷渫ǔP枰@取用戶自定義屬性。
特性(Attribute)
概念:用于在運(yùn)行時(shí)傳遞程序中各種元素(類,方法等)的行為信息的聲明性標(biāo)簽。
聲明方法:在它所應(yīng)用的元素(類,方法等)面前防止方框號([]),ig.[SayHelloAttribute]。
主要作用:對應(yīng)用的元素添加元數(shù)據(jù),程序可以使用反射檢查獲取自己的元數(shù)據(jù)或者其它元素內(nèi)的元數(shù)據(jù)。
可以這么理解元數(shù)據(jù)的概念:程序集中所有關(guān)于聲明類的數(shù)據(jù)信息(成員函數(shù),屬性,方法調(diào)用)等都儲存在元數(shù)據(jù)里面(pdb文件)。
二、概念
反射:指程序可以訪問、檢測和修改它本身狀態(tài)或行為的一種動(dòng)作。
作用:通過反射,可以在運(yùn)行時(shí)獲取指定程序集(dll集合)每一個(gè)類型(包括類、結(jié)構(gòu)、委托、接口等)的成員(方法、事件、屬性等)。
三、用途
反射可以作用在程序集上,程序集包含模塊,模塊包含類型,類型又包含成員,反射可以對封裝程序集、模塊、類以及成員進(jìn)行操作。通常,使用反射動(dòng)態(tài)的創(chuàng)建類型的實(shí)例,將類型綁定到現(xiàn)有對象(或從現(xiàn)有對象獲取類型),然后調(diào)用類型的方法。
最常見用途如下:
1、使用Assembly定義和加載程序集,并提取指定的類型集合。
如下所示,加載"ReflectionTest.exe",提取程序中有“HelloAttribute"屬性的類。

2、使用MethodInfo了解方法的名稱,返回類型,參數(shù)以及實(shí)現(xiàn)信息。

3、實(shí)例化對象,調(diào)用方法

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“深入了解Java反射調(diào)用方法”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743