反射獲取本類和父類所有屬性

2022-03-30 06:04:30 字數 689 閱讀 6073

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

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

同樣類似的還有getconstructors()和getdeclaredconstructors()、getmethods()和getdeclaredmethods(),這兩者分別表示獲取某個類的方法、建構函式。

那麼問題來了,我要獲取到當前類以及父類的所有屬性,怎麼辦?

/**

* 獲取本類及其父類的屬性的方法

* @param clazz 當前類物件

* @return 字段陣列

*/private static field getallfields(class> clazz)

field fields = new field[fieldlist.size()];

return fieldlist.toarray(fields);

}

測試:

public static void main(string args) 

}

【參考】:

c 通過反射獲取類中的所有欄位和屬性

reflection中文翻譯為反射,是.net中獲取執行時型別資訊的方式。net的應用程式由幾個部分 程式集 assembly 模組 module 型別 class 組成。反射提供一種程式設計的方式,讓程式設計師可以在程式執行期獲得這幾個組成部分的相關資訊。assembly類可以獲得正在執行的裝配件...

利用反射機制獲取物件中的屬性 包括父類

選擇需要查詢屬性的物件 object object newobject 獲取object類的定義資訊,然後通過反射訪問其全部資訊.class clazz object.getclass 新建乙個list集合把物件裡所有屬性放進去 包括父類 list fieldlist newarraylist 通過...

利用反射獲取類的所有字段

以下是利用反射獲取類refpoint中所有的字段。一,refpoint類 public class refpoint public class class02 二,列印出所有類refpoint中的所有字段 refpoint refpoint01 new refpoint 3 type typeobj...