更新時(shí)間:2019-12-10 14:13:45 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2475次
在動(dòng)力節(jié)點(diǎn)這階段的學(xué)習(xí)中,讓我最深刻的知識(shí)點(diǎn)就是反射,以前我也找過一些資料自學(xué)過,但是沒有老師講的深入,通過這次學(xué)習(xí),感覺了解的更透徹了。
一、先看一下反射的概念:
主要是指程序可以訪問,檢測(cè)和修改它本身狀態(tài)或行為的一種能力,并能根據(jù)自身行為的狀態(tài)和結(jié)果,調(diào)整或修改應(yīng)用所描述行為的狀態(tài)和相關(guān)的語(yǔ)義。
反射是Java中一種強(qiáng)大的工具,能夠使我們很方便的創(chuàng)建靈活的代碼,這些代碼可以再運(yùn)行時(shí)裝配,無需在組件之間進(jìn)行源代碼鏈接。但是反射使用不當(dāng)會(huì)成本很高!
二、反射機(jī)制的作用:
1、反編譯:.class-->.java
2、通過反射機(jī)制訪問Java對(duì)象的屬性,方法,構(gòu)造方法等;這樣好像更容易理解一些,下邊我們具體看怎么實(shí)現(xiàn)這些功能。
三、在這里先看一下sun為我們提供了那些反射機(jī)制中的類:
java.lang.Class;
java.lang.reflect.Constructor; java.lang.reflect.Field;
java.lang.reflect.Method;
java.lang.reflect.Modifier;
很多反射中的方法,屬性等操作我們可以從這四個(gè)類中查詢。還是那句話要學(xué)著不斷的查詢API,那才是我們最好的老師。
四、具體功能實(shí)現(xiàn):
1、反射機(jī)制獲取類有三種方法[size=18.6667px]
2、[size=18.6667px],創(chuàng)建對(duì)象:獲取類以后我們來創(chuàng)建它的對(duì)象,利用[size=18.6667px]new[size=18.6667px]Instance[size=18.6667px]:[size=18.6667px] 3,獲取屬性:分為所有的屬性和指定的屬性:
a、先看獲取所有的屬性的寫法
b、獲取特定的屬性,對(duì)比著傳統(tǒng)的方法來學(xué)習(xí):
這樣我們就可以獲得類的各種內(nèi)容,進(jìn)行了反編譯。對(duì)于Java這種先編譯再運(yùn)行的語(yǔ)言來說,反射機(jī)制可以使代碼更加靈活,更加容易實(shí)現(xiàn)面向?qū)ο蟆?/p>
這樣的好處是很容易的方便我們變換數(shù)據(jù)庫(kù),例如我們將系統(tǒng)的數(shù)據(jù)庫(kù)從SQL Server升級(jí)到Oracle,那么我們寫兩份D層,在配置文件的內(nèi)容改一下,或者加條件選擇一下即可,帶來了很大的方便。
當(dāng)然了,Java中其實(shí)也是一樣,只不過這里的配置文件為.properties,稱作屬性文件。通過反射讀取里邊的內(nèi)容。這樣代碼是固定的,但是配置文件的內(nèi)容我們可以改,這樣使我們的代碼靈活了很多!
通過在動(dòng)力節(jié)點(diǎn)Java面授學(xué)習(xí)的第二階段中,我覺得對(duì)于Java反射,雖然在運(yùn)用中它會(huì)使我們的軟件性能降低,復(fù)雜度增加,但如果我們可以靈活的運(yùn)用它,它能夠使我們的代碼更加靈活,總的來說利還是大于弊。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“學(xué)習(xí)Java編程入門到精通”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java全套自學(xué)資料
Java自學(xué)視頻教程(免費(fèi)學(xué)習(xí)):http://www.dabaquan.cn/video.html
Java技術(shù)教程:http://www.dabaquan.cn/tutorial/
相關(guān)文章
零基礎(chǔ)怎么自學(xué)Java,完整版Java學(xué)習(xí)路線圖
你還在糾結(jié)學(xué)Java,是自學(xué)還是去培訓(xùn)班嗎
一個(gè)標(biāo)準(zhǔn)的Java程序員如何進(jìn)階?
Java學(xué)習(xí)路線清單,快速進(jìn)階Java
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743