java反射獲取成員變數

2021-08-25 05:40:43 字數 2077 閱讀 4483

a:獲得類的成員變數 陣列:

1、getfields(公共類的)

2、getdeclaredfields(所有型別的)

b:獲得類的單個成員變數:

1、getfield (公共類的)

2、getdeclaredfield (所有型別的)

a.1:獲得類的公共成員變數:

//獲取類的位元組碼檔案物件    

class c = class.forname("zl_relfect_01.person");

//獲得該物件的公共成員變數

field f = c.getfields();

//遍歷

for(field fie : f)

a.2:獲得類的所有成員變數:

//獲取類的位元組碼檔案物件    

class c = class.forname("zl_relfect_01.person");

//獲取該類的所有成員變數

field f = c.getdeclaredfields();

for(field fie : f)

b.1:獲得單個公共成員變數:

//獲取類的位元組碼檔案物件    

class c = class.forname("zl_relfect_01.person")

//獲取單個公共的成員變數

field f = c.getfield("address");

system.out.println(f);

b.2:獲得單個所有型別的成員變數:

//獲取類的位元組碼檔案物件    

class c = class.forname("zl_relfect_01.person");

//獲取單個成員變數(所有型別)

field f = c.getdeclaredfield("name");

system.out.println(f);

通過反射獲取成員變數並使用

//獲取類的位元組碼檔案物件

class c = class.forname("zl_relfect_01.person");

//通過無參構造建立物件

constructor con = c.getconstructor();

object obj = con.newinstance();

//獲取私有成員變數name,並對它進行賦值

//首先獲取私有成員變數name

field newname = c.getdeclaredfield("name");

//成員變數name是私有的,所以得先取消語言訪問檢查 public void setaccessible(boolean flag)

newname.setaccessible(true);

//set(object obj,object value):將指定物件變數上此 field 物件表示的字段設定為指定的新值。

//給obj裡面的newname賦值為張三

newname.set(obj, "張三");

system.out.println(obj);//person [name=張三, age=0, address=null]

//獲取預設型別成員變數age,並對它進行賦值

//獲取age變數,並賦值

field newage = c.getdeclaredfield("age");

//取消語言訪問檢查

newage.setaccessible(true);

//給age賦值

newage.set(obj, 13);

system.out.println(obj);

//獲取公共成員變數address,並對它賦值

//獲取address物件,並賦值

field newaddress = c.getdeclaredfield("address");

newaddress.set(obj, "家鄉");

system.out.println(obj);

Field獲取java類中的成員變數名

partnerdto partnerdto mappartnercustomermap partnerdto.getcustomdata field fields partnerdto.getclass getdeclaredfields if fields null 提供有關類或介面的單個欄位的資...

JAVA 變數(類變數 成員變數 本地變數)

注 此文章引用位址 1 類變數 靜態屬性 2 成員變數 例項變數,屬性 3 本地變數 區域性變數 1.1 類變數 訪問修飾符 static type name value 1.2 什麼是類變數?被static修飾的屬性。1.3 作用範圍?在類變數定義之後。1.4 生命週期?在記憶體中存在的時間 出生...

Java 成員變數和區域性變數

成員變數 在類範圍裡定義的變數。成員變數又分為例項屬性 不用static 修飾 和類屬性 用static 修飾 類屬性和例項屬性統稱為成員變數。類屬性在類的準備階段開始存在,直到系統銷毀這個類,類屬性與類的生存範圍相同。例項屬性從類的例項被建立開始存在,直到系統銷毀這個例項,例項屬性與對應例項生存範...