摘要:使用反射可以檢視類屬性成員變量,并且可以在運行時。獲得屬性對象類是通過對象獲得的。示例如下數組包含類定義所有公共屬性實例。如屬性是靜態屬性,應傳給方法,以替代例子中的參數。
使用反射可以檢視類屬性(成員變量),并且可以在運行時get/set。這些是通過類java.lang.reflect.Field實現的。本文將詳細介紹javaField對象。別忘了參考Sun的JavaDoc。
獲得屬性對象Field類是通過Class對象獲得的。示例如下:
Class aClass = ...//obtain class object Field[] fields = aClass.getFields();
Field[]數組包含類定義所有公共(public)屬性實例。
如果你知道想訪問的屬性名稱,可以使用下方代碼:
Class aClass = MyObject.class Field field = aClass.getField("someField");
上訴示例將返回類MyObject定義的someField屬性對應的Field實例,類似如下代碼:
public class MyObject{ public String someField = null; }
如果給予getField()方法的參數不存在對應的屬性,將拋出NoSuchFieldException。
屬性名稱如已有Field實例,可以通過Field.getName()方法獲取屬性名稱,代碼如下 :
Field field = ... //obtain field object String fieldName = field.getName();屬性類型
可以使用Field.getType() 方法獲取屬性類型:
Field field = aClass.getField("someField"); Object fieldType = field.getType();獲取、設置屬性值
一旦獲得Field引用,可以使用Field.get()和Field.set()方法獲取或設置屬性值,代碼如下:
Class aClass = MyObject.class Field field = aClass.getField("someField"); MyObject objectInstance = new MyObject(); Object value = field.get(objectInstance); field.set(objetInstance, value);
傳給get和set方法的objetInstance必須是擁有指定屬性的一個類的實例。上例使用的是MyObject的實例,因為someField是類MyObject的一個變量。
如屬性是靜態屬性(public static),應傳null給get、set方法,以替代例子中的objectInstance參數。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/77252.html
摘要:知識點總結反射通過反射操作類的屬性和方法知識點總結反射使用反射操作類的屬性和方法通過反射調用構造方法,構造對象其實調用無參構造器張三調用有參構造器李四通過反射調用普通方法獲取方法激活方法王武王武通過反射操作屬性是屬性,如果不寫會這個私有屬 Java知識點總結(反射-通過反射操作類的屬性和方法 ) @(Java知識點總結)[Java, 反射] 使用反射操作類的屬性和方法: import ...
摘要:所以,我實現了一個稱為的類來應用反射。現在流行的語言大都支持反射。這組內省主要是針對類進行操作的,能夠獲取類的屬性信息。可以看到,通過的內省機制,解決了的最關鍵的問題。在封裝反射的時候,會充分考慮到各種情況。 BeanMap 學習具體的技術工具的好辦法就是些Demo、造輪子。所以,我實現了一個稱為BeanMap的類來應用java反射API。 這個BeanMap的功能是將一個Bean包裝...
摘要:通過反射獲取帶參無返回值成員方法并使用設置安全檢查,訪問私有構造函數必須創建實例這種不行,注意和方法需要傳遞參數測試復制這個功能獲取私有方法,同樣注意和的區別賦予訪問權限調用方法。 反射 目錄介紹 1.反射概述 1.1 反射概述 1.2 獲取class文件對象的三種方式 1.3 反射常用的方法介紹 1.4 反射的定義 1.5 反射的組成 1.6 反射的作用有哪些 2.反射的...
近期在維護公司項目的時候遇到一個問題,因為實體類中的 set 方法涉及到了業務邏輯,因此在給對象賦值的過程中不能夠使用 set 方法,為了實現功能,所以采用了反射的機制給對象屬性賦值,借此機會也了解了反射的一些具體用法和使用場景,分以下兩點對反射進行分析: 反射的優勢和劣勢 反射的應用場景 反射的優勢和劣勢 ??個人理解,反射機制實際上就是上帝模式,如果說方法的調用是 Java 正確的打開方式...
摘要:反射機制的應用實例在泛型為的中存放一個類型的對象。工廠模式可以參考現在我們利用反射機制實現工廠模式,可以在不修改工廠類的情況下添加任意多個子類。 學習交流群:669823128java 反射 定義 功能 示例概要:Java反射機制詳解| |目錄 1反射機制是什么 2反射機制能做什么 3反射機制的相關API 通過一個對象獲得完整的包名和類名 實例化Class類對象 獲取一個對象的父類與...
閱讀 1315·2021-11-15 11:37
閱讀 3505·2021-11-11 16:55
閱讀 1756·2021-08-25 09:39
閱讀 3222·2019-08-30 15:44
閱讀 1737·2019-08-29 12:52
閱讀 1410·2019-08-29 11:10
閱讀 3244·2019-08-26 11:32
閱讀 3227·2019-08-26 10:16