Java的反射機制

1.什麼是反射機制

反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱爲java語言的反射機制。

2.反射機制有哪些作用

(1)在運行時判斷任意一個對象所屬的類;

(2)在運行時構造任意一個類的對象;

(3)在運行時判斷任意一個類所具有的成員變量和方法;

(4)在運行時調用任意一個對象的方法;

(5)生成態代理。

3.反着機制的相關API



最後,總結反射機制的優缺點

優點:反射機制可以增加代碼的靈活性,可以避免將程序寫死。

缺點:儘管反射非常強大,但也不能濫用。如果一個功能可以不用反射完成,那麼最好就不用。其次它的缺點主要體現在兩方面上:

1.性能方面 反射包括了一些動態類型,所以JVM無法對這些代碼進行優化。因此,反射操作的效率要比那些非反射操作低得多。我們應該避免在經常被 執行的代碼或對性能要求很高的程序中使用反射。

安全方面 使用反射技術要求程序必須在一個沒有安全限制的環境中運行。由於反射允許代碼執行一些在正常情況下不被允許的操作(比如訪問私有的屬性和方法),所以使用反射可能會導致意料之外的副作用--代碼有功能上的錯誤,降低可移植性。反射代碼破壞了抽象性,因此當平臺發生改變的時候,代碼的行爲就有可能也隨着變化。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章