什么是反射(Reflection)?它能做什么?
生活随笔
收集整理的這篇文章主要介紹了
什么是反射(Reflection)?它能做什么?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
指程序可以訪問、檢測和修改本身的狀態(tài)或行為的一種能力或特性。
反射(Reflection)機制是Java語言特性之一,是Java被視為動態(tài)(或準動態(tài))語言的一個關鍵特性。
Java反射有以下3個動態(tài)特征:
JAVA機制反射是在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意一個方法和屬性;這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為java語言的反射機制。
Java中編譯類型有兩種:
-
靜態(tài)編譯:在編譯時確定類型,綁定對象即通過。
-
動態(tài)編譯:運行時確定類型,綁定對象。動態(tài)編譯最大限度地發(fā)揮了Java的靈活性,體現(xiàn)了多態(tài)的應用,可以降低類之間的耦合性。
通過Java反射可以實現(xiàn)以下功能:
就像照鏡子能夠看清自己,可以看清一個類的情況并加以使用。并且,反射機制是構(gòu)建框架技術的基礎所在。
使用反射雖然會很大程度上提高代碼的靈活性,但不能濫用反射,因為通過反射創(chuàng)建和訪問實例時性能要稍低一些,且反射可能會破壞封裝。實際上,只有當程序需要動態(tài)創(chuàng)建類的實例時才會考慮用反射。
總結(jié)
以上是生活随笔為你收集整理的什么是反射(Reflection)?它能做什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN10鼠标乱跳问题解决办法
- 下一篇: 许晓斌_Maven实战(五)——自动化W