天天看點

Java 反射 使用總結

反射機制是在運作狀态中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;這種動态擷取的資訊以及動态調用對象的方法的功能稱為java語言的反射機制。

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

在運作時判斷任意一個對象所屬的類;

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

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

在運作時調用任意一個對象的方法;

生成動态代理。

InterFace 接口

Person 實體類

運作結果:

getDeclaredFields()獲得某個類的所有申明的字段,即包括public、private和proteced,但是不包括父類的申明字段。

getFields()獲得某個類的所有的公共(public)的字段,包括父類。

運作結果:

運作結果:報錯了,原因是:id 這個屬性的是 private 私有的,不能修改它的值。

改進:添加 idField.setAccessible( true );

完整代碼:

定義 Util 類

完整小例子:

當參數是 int 類型時

擷取方法的時候需要用:int.class。不能使用 Integer.class. 會報錯。

Person 類

建立執行個體實戰

Class類提供了四個public方法,用于擷取某個類的構造方法。

四種擷取成員方法的方法

四種擷取成員屬性的方法

Field[] getDelcaredField()    傳回所有成員變量組成的數組(不分public和非public屬性

本文轉自 sshpp 51CTO部落格,原文連結:http://blog.51cto.com/12902932/1947444,如需轉載請自行聯系原作者