• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學(xué)習(xí)啦>知識(shí)大全>知識(shí)百科>百科知識(shí)>

    java什么是反射意思概念介紹

    時(shí)間: 歐東艷656 分享

      Java中的反射,我們常見是取得構(gòu)造方法,成員變量,普通方法,還有對數(shù)組反射的操作。

      1、反射的精辟定義:反射就是把Java類中的各種成分映射成相應(yīng)的Java類。

      2、Class實(shí)例表示正在運(yùn)行的Java應(yīng)用程序中的類和接口。所有的

      3、反射除了方法體得不到,別的都可以得到。包括可以得到類里私有的成員變量。本人覺得這破壞了Java的封裝性,不知道為什么要這么設(shè)計(jì)。

      一、構(gòu)造方法的反射

      (1)得到需要反射的類Class。知道類名可以使用forName(String className) 方法。也可以通過對象的.getClass方法獲得。或者明確去獲得哪個(gè)類型。比如我們有一個(gè)Person類,我們想得到這個(gè)類的實(shí)例可以寫成 Person.class。

      (2)構(gòu)造方法用Constructor類表示。可以通過剛才得到的Class,使用getConstructor方法獲得,想獲得什么形參的構(gòu)造方法,就傳入什么形參類型的Class,比如想取得String的String(StringBuffer buffer) 構(gòu)造方法可以這樣:String.class.getConstructor(StringBuffer.class)。

      (3)使用取得的構(gòu)造方法創(chuàng)建對象,我們需要使用newInstance方法,形參為可變參數(shù),按上面取得的String的構(gòu)造方法,我們就可以這樣創(chuàng)建對象,String.class.getConstructor(StringBuffer.class).newInstance(new StringBuffer())

      二、成員變量的反射

      (1)我們同樣需要取得反射的類Class。

      (2)Java中使用Field類表示字段,我們想獲得成員變量可以使用Class的getField(String name)方法,參數(shù)為成員變量的名字。也有g(shù)etFields()方法取得該類的所有成員變量,返回值為Field的數(shù)組。取得Field的值,使用 get方法,設(shè)置值使用set方法。

      (3)暴力訪問私有成員使用setAccessible方法,getType() 取得Field類型,getName()取得Field的字段名稱。

      三、普通方法的反射

      (1)取得反射類Class。

      (2)方法使用Method類定義,獲得方法使用getMethod(String name, Class… parameterTypes) ,用法很像獲得構(gòu)造方法,只是多出一個(gè)方法名的參數(shù)。

      (3)getReturnType()獲得方法的返回值類型,getParameterTypes()獲得所有形參類型。

      (4)用invoke調(diào)用方法第一個(gè)參數(shù)為需要調(diào)用的對象,第二個(gè)參數(shù)為用于調(diào)用的參數(shù)。

    java什么是反射意思概念介紹

    Java中的反射,我們常見是取得構(gòu)造方法,成員變量,普通方法,還有對數(shù)組反射的操作。 1、反射的精辟定義:反射就是把Java類中的各種成分映射成相應(yīng)的Java類。 2、Class實(shí)例表示正在運(yùn)行的Java應(yīng)用程序中的類和接口。所有的 3、反射除了
    推薦度:
    點(diǎn)擊下載文檔文檔為doc格式

    精選文章

    • it領(lǐng)域什么是si
      it領(lǐng)域什么是si

      信息產(chǎn)業(yè)其實(shí)是一個(gè)很大的產(chǎn)業(yè)集群。信息的感測技術(shù)、信息的識(shí)別技術(shù)、網(wǎng)絡(luò)技術(shù)、信息處理技術(shù)和信息的施用技術(shù)等形成了不同的產(chǎn)業(yè)。就計(jì)算機(jī)技術(shù)

    • itil什么是變更管理
      itil什么是變更管理

      ITIL即IT基礎(chǔ)架構(gòu)庫(Information Technology Infrastructure Library, ITIL,信息技術(shù)基礎(chǔ)架構(gòu)庫)由英國政府部門CCTA(Central Computing and Telecommunications Agency)在20世紀(jì)80年代末

    • iphone什么是五碼合一_蘋果手機(jī)五碼合一的意思
      iphone什么是五碼合一_蘋果手機(jī)五碼合一的意思

      iphone手機(jī)有很多人使用,但是對于五碼合一的意思可能就不了解了。下面小編為大家分享的是蘋果手機(jī)五碼合一的意思的內(nèi)容介紹,歡迎閱讀! iphone五碼合

    • iphone5s什么是公開版
      iphone5s什么是公開版

      公開版是經(jīng)歷了測試階段的軟件或游戲,其平衡性或者運(yùn)行BUG數(shù)量要比測試版少得多,一般軟件或游戲公司都會(huì)在正式出品之前進(jìn)行內(nèi)測測試,以找出其中

    245664 主站蜘蛛池模板: 亚洲午夜久久久精品影院| 在线中文字幕视频| 内地女星风流艳史肉之| qvod激情小说| 欧美老熟妇乱子伦视频| 国产精品爽爽va在线观看无码| 亚洲va精品中文字幕| 青柠在线观看视频hd| 成人国产精品999视频| 免费人妻精品一区二区三区| 97国产在线播放| 最近免费高清版电影在线观看| 国产乱来乱子视频| どきどき小房东| 欧美激情观看一区二区久久| 国产成人无码aa精品一区| 久久99国产精品成人欧美| 福利视频导航网| 国产精品亚洲一区二区无码| 久久久噜噜噜久久久| 男女免费观看在线爽爽爽视频 | 欧美亚洲人成网站在线观看刚交| 国产成人免费网站app下载| 两个人看的www免费视频| 污视频app网站| 国产女人好紧好爽| 免费看美女隐私全部| 中文字幕国产一区| 濑亚美莉在线视频一区| 国产成人综合野草| 一级做a爰片久久毛片16| 欧美性大战久久久久久| 国产亚洲第一页| 99久久免费国产精精品| 日韩人妻无码一区二区三区久久| 尤物在线观看精品国产福利片| 成人最新午夜免费视频| 亚洲欧美另类视频| 91精品国产色综合久久不| 日韩欧美小视频| 你懂的免费在线观看|