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