Java反射機制

Java反射機制的做用:java

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

2)在運行時判斷任意一個類所具備的成員變量和方法。sql

3)在運行時任意調用一個對象的方法框架

4)在運行時構造任意一個類的對象性能

 

拓展:.net

一、什麼是反射機制?hibernate

簡單說,反射機制值得是程序在運行時可以獲取自身的信息。在java中,只要給定類的名字,那麼就能夠經過反射機制來得到類的全部信息。設計

 

二、java反射機制提供了什麼功能?對象

在運行時可以判斷任意一個對象所屬的類開發

在運行時構造任意一個類的對象

在運行時判斷任意一個類所具備的成員變量和方法

在運行時調用任一對象的方法

在運行時建立新類對象

 

三、哪裏用到反射機制?

jdbc中有一行代碼:Class.forName('com.MySQL.jdbc.Driver.class').newInstance();那個時候只知道生成驅動對象實例,後來才知道,這就是反射,如今

不少框架都用到反射機制,hibernate,struts都是用反射機制實現的。

 

四、反射機制的優缺點?

靜態編譯:在編譯時肯定類型,綁定對象,即經過

動態編譯:運行時肯定類型,綁定對象。動態編譯最大限度的發揮了java的靈活性,體現了多態的應用,有利於下降類之間的耦合性。

 

 一句話,反射機制的優勢就是能夠實現動態建立對象和編譯,體現出很大的靈活性,特別是在J2EE的開發中
    它的靈活性就表現的十分明顯。好比,一個大型的軟件,不可能一次就把把它設計的很完美,當這個程序編
    譯後,發佈了,當發現須要更新某些功能時,咱們不可能要用戶把之前的卸載,再從新安裝新的版本,假如
    這樣的話,這個軟件確定是沒有多少人用的。採用靜態的話,須要把整個程序從新編譯一次才能夠實現功能
    的更新,而採用反射機制的話,它就能夠不用卸載,只須要在運行時才動態的建立和編譯,就能夠實現該功
    能。
       它的缺點是對性能有影響。使用反射基本上是一種解釋操做,咱們能夠告訴JVM,咱們但願作什麼而且它
    知足咱們的要求。這類操做老是慢於只直接執行相同的操做。
相關文章
相關標籤/搜索