Java 反射淺析

所謂的反射機制就是java語言在運行時擁有一項自觀的能力。通過這種能力可以徹底的瞭解自身的情況爲下一步的動作做準備。

下面具體介紹一下java的反射機制。


Java的反射機制的實現要藉助於4個類:Class,Constructor,Field,Method;

其中Class代表的是類對 象,Constructor-類的構造器對象,Field-類的屬性對象,Method-類的方法對象。通過這四個對象我們可以粗略的看到一個類的各個組 成部分。


Java反射的作用:

在Java運行時環境中,對於任意一個類,可以知道這個類有哪些屬性和方法。對於任意一個對象,可以調用它的任意一個方法。這種動態獲取類的信息以及動態調用對象的方法的功能來自於Java 語言的反射(Reflection)機制。


Java 反射機制主要提供了以下功能

在運行時判斷任意一個對象所屬的類。
在運行時構造任意一個類的對象。
在運行時判斷任意一個類所具有的成員變量和方法。
在運行時調用任意一個對象的方法


下面是簡單的反射的例子:

1. 首先準備兩個很簡單的業務類




2. 非反射方式切換不同的業務方法調用


當需要從第一個業務方法切換到第二個業務方法的時候,使用非反射方式,必須修改代碼,並且重新編譯運行,纔可以達到效果

3. 反射方式

使用反射方式,首先準備一個配置文件,就叫做spring.txt吧, 放在src目錄下。 裏面存放的是類的名稱,和要調用的方法名。在測試類Test中,首先取出類名稱和方法名,然後通過反射去調用這個方法。

當需要從調用第一個業務方法,切換到調用第二個業務方法的時候,不需要修改一行代碼,也不需要重新編譯,只需要修改配置文件spring.txt,再運行即可。




使用這個例子,可以較好得理解反射的一個應用場景。

這也是Spring框架的最基本的原理,只是它做的更豐富,安全,健壯。


preview

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