大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 送給大家一份全面詳細(xì)的Java反射機(jī)制學(xué)習(xí)指南

送給大家一份全面詳細(xì)的Java反射機(jī)制學(xué)習(xí)指南

更新時間:2019-09-26 09:55:58 來源:動力節(jié)點 瀏覽2499次



  Java反射說的是在運行狀態(tài)中,對于任何一個類,我們都能夠知道這個類有哪些方法和屬性。很多動力節(jié)點的學(xué)員在面試中都會被問到Java反射機(jī)制這個問題,為了幫助大家更好的掌握這個知識點,動力節(jié)點Java培訓(xùn)小編整理了一些資料分享給大家。


  一、反射概念


  在正式講解反射之前,為了很好的去理解它我們先從一個案例說起。請看下面的代碼:

image.png

  這是一個最簡單不過的類,當(dāng)我們使用的時候直接new出來一個User對象即可。因為這個類是我們自己定義的,所以在使用的時候我們知道User有兩個字段name和age,還有無參和有參構(gòu)造方法,另外的test方法我們也可以直接調(diào)用(因為其是public)。


  現(xiàn)在出現(xiàn)一個問題,如果這個user類不是我們自己定義的,我們從外部看不到里面有什么東西,而且我們又想去知道內(nèi)部長什么樣,比如說有幾個字段、方法、構(gòu)造方法、共有還是私有的等等,這時候該怎么辦呢?這時候java語言在設(shè)計的時候為我們提供了一個機(jī)制,就是反射機(jī)制,他能夠很方便的去解決我們的問題。


  二、深入分析java反射機(jī)制


  1、獲取Class類


  在java中萬事萬物皆對象,Useruser=newUser()一行代碼我們知道了user是User類的實例對象,通過Studentstu=newStudent()我們知道了stu是Student的實例對象,但是我們想過沒,User和Student又是誰的對象呢?沒錯就是Class類的實例對象。那這個Class類是什么東西,內(nèi)部長什么樣子呢?這時候我們很自然的聯(lián)想到使用反射機(jī)制。使用反射機(jī)制就可以獲取到這個class。


  這里有三種方式可以獲取這個Class,我們來看一下代碼:

image.png

  上面的c1、c2、c3都是Class類的實例,表示的都是User類。


  當(dāng)然,不僅僅是User這些類,對于基本數(shù)據(jù)類型甚至是包括void我們也可以使用這個方法。

image.png

  現(xiàn)在就可以直接創(chuàng)建User類的實例了。


  Useruser=(User)c1.getInstance();


  現(xiàn)在我們對反射機(jī)制中獲取Class類的方法進(jìn)行一個總計

image.png

  2、獲取類的方法


  現(xiàn)在通過反射看一下User類內(nèi)部的樣子,打印一下(把這個操作封裝在了一個方法中):

image.png

  下面我們把我們的User類傳進(jìn)去,打印一下。

image.png

  我們總結(jié)一下反射方法。

image.png

  3、獲取類的屬性


  (1)獲取所有屬性


 image.png


  上面有兩種獲取屬性的方法。重點是for循環(huán)。我們來測試一下


  image.png


  直接就會輸出我們的字段類型和名稱。


  (2)獲取指定屬性


  在這里我們的User類中name、age字段增加getter和setter方法


  image.png


  然后我們測試一下


  image.png


  在這里,我們在printFieldMsgBySelf方法中通過反射重新設(shè)置了age年齡的值,輸出之后已成功更改。


  image.png


  4、獲取類的構(gòu)造方法


  image.png


  然后我們同樣的測試一下


  image.png


  跟我們之前的構(gòu)造方法一樣。


  image.png


  5、獲取User類的父類和接口


  我們在這里定義一個Human類(里面什么也沒有),然后定義一個UserInterface接口,讓User繼承它就好了。


  image.png


  然后我們在Test中去測試一下就可以了,測試方法很簡單,我們只需要調(diào)用這個方法就可以。


  在上面的案例中,我們使用反射機(jī)制能夠獲取類的方法、字段、構(gòu)造方法、父類和接口,當(dāng)然也可以獲取一些其他的信息。不知道你是否掌握了Java反射機(jī)制這一知識點,想了解更多Java行業(yè)動態(tài)和學(xué)習(xí)資料,可以關(guān)注“動力節(jié)點IT培訓(xùn)”官網(wǎng)Java資訊。


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 狠狠色狠狠色综合久久第一次 | 毛片一区二区三区 | 国内主播大秀福利视频在线看 | 4hu在线观看| 欧美成年黄网站色视频 | 亚洲资源站资源网在线 | 欧美成人久久一级c片免费 欧美成人剧情中文字幕 | 老司机午夜在线视频 | 免费福利在线播放 | 久久精品欧美一区二区 | 99热在线获取最新地址 | 亚洲欧美精品综合中文字幕 | 一本一本久久a久久精品综合麻豆 | 亚洲综合视频一区 | 国产精品一区二区资源 | 一本久道综合久久精品 | 欧美综合精品 | 九九视频在线免费观看 | 国产成人精品日本亚洲直接 | 青草国产精品久久久久久 | 免费www xxx| 夜夜橹| 九九视频只有精品 | 精品无码久久久久久国产 | 天天做天天爱天天一爽一毛片 | 欧美成人欧美激情欧美风情 | 亚洲美女操 | 欧美精品久久久久久久免费观看 | 欧美一区二区三区综合色视频 | 亚洲精品一区二区伦理 | 国产成人小视频在线观看 | 久久精品亚洲牛牛影视 | 天堂伊人网 | 九九国产精品 | 97se亚洲综合在线 | 亚洲 自拍 另类 制服在线 | 在线a毛片免费视频观看 | 操一操 | 亚洲欧美综合久久 | 99在线视频网站 | 草草视频免费观看 |