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...