序言

      在學(xué)習(xí)java基礎(chǔ)時(shí),由于學(xué)的不扎實(shí),講的實(shí)用性不強(qiáng),就覺得沒用,很多重要的知識(shí)就那樣一筆帶過了,像這個(gè)馬上要講的反射機(jī)制一樣,當(dāng)時(shí)學(xué)的時(shí)候就忽略了,到后來學(xué)習(xí)的知識(shí)中,很多東西動(dòng)不動(dòng)就用反射,所以回過頭來把這個(gè)給重新補(bǔ)一下,自己欠下的債,遲早是要還的。

                                      ---WH

一、什么是反射?

    在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)類,都能夠獲取到這個(gè)類的所有屬性和方法,對(duì)于任意一個(gè)對(duì)象,都能夠調(diào)用它的任意一個(gè)方法和屬性(包括私有的方法和屬性),這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能就稱為java語言的反射機(jī)制。通俗點(diǎn)講,通過反射,該類對(duì)我們來說是完全透明的,想要獲取任何東西都可以。

    想要使用反射機(jī)制,就必須要先獲取到該類的字節(jié)碼文件對(duì)象(.class),通過字節(jié)碼文件對(duì)象,就能夠通過該類中的方法獲取到我們想要的所有信息(方法,屬性,類名,父類名,實(shí)現(xiàn)的所有接口等等),每一個(gè)類對(duì)應(yīng)著一個(gè)字節(jié)碼文件也就對(duì)應(yīng)著一個(gè)Class類型的對(duì)象,也就是字節(jié)碼文件對(duì)象。

    獲取字節(jié)碼文件對(duì)象的三種方式。

       1、Class clazz1 = Class.forName("全限定類名");  //通過Class類中的靜態(tài)方法forName,直接獲取到一個(gè)類的字節(jié)碼文件對(duì)象,此時(shí)該類還是

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式