JAVA反射機制例項

2021-08-23 12:19:53 字數 2025 閱讀 7188

test1.class

public class test 

//(3)getmethod(方法名,引數型別1,引數型別2...),不常用

method=cls.getmethod("test2", int.class);

system.out.println("method:"+method);

//(4)getmethods(),獲取該類和父類中所有的public修飾的方法,不常用

methods=cls.getmethods();

system.out.println("methods:"+methods);

index=0;

for(method m:methods)

//反射api可以打破封裝特性(不受訪問控制修飾符約束),實現訪問不可見的方法和屬性

//修改方法的訪問許可權為可訪問

method.setaccessible(true);

//動態呼叫方法,準備引數

method.invoke(obj, 1);

/*** 4.動態訪問和修改物件的屬性

*///載入物件的屬性的四種方法:

//(1)getdeclaredfield(屬性名),根據屬性名獲取該類中的屬性

field field=cls.getdeclaredfield("param");

system.out.println("field:"+field);

//(2)getdeclaredfields(),獲取該類中所有的屬性,不受訪問控制修飾符限制

field fields=cls.getdeclaredfields();

system.out.println("fields:"+fields);

index=0;

for(field f:fields)

//(3)getfield(屬性名),根據屬性名獲取該類及其父類中的某個public修飾的屬性

field=cls.getfield("param");

system.out.println("field:"+field);

//(4)getfields(),獲取該類及其父類中所有public修飾的屬性

fields=cls.getfields();

system.out.println("fields:"+fields);

index=0;

for(field f:fields)

//反射api可以打破封裝特性(不受訪問控制修飾符約束),實現訪問不可見的方法和屬性

//修改屬性的訪問許可權為可訪問

field.setaccessible(true);

//獲取屬性值

object param=field.get(obj);

system.out.println("param_1:"+param);

//修改屬性值

field.set(obj, 3);

//顯示修改後的屬性

system.out.println("param_2:"+field.get(obj));

} catch (classnotfoundexception e) catch (nosuchmethodexception e) catch (securityexception e) catch (instantiationexception e) catch (illegalacces***ception e) catch (illegalargumentexception e) catch (invocationtargetexception e) catch (nosuchfieldexception e) }

public static void main(string args)

}

test2.class

public class test2 

private void test2() {}

public static void test2(int num)

}

java反射機制,例項

templist 根據傳入的pmid不同建立的list對應的model不同,但是又要獲得這個templist 的屬性像pointname,changethis等等,object不能用get 屬性名來獲取,只能用反射獲得字段陣列,進而獲取欄位名,字段值。public string getexportp...

java反射機制

private string getmethod catch instantiationexception e1 catch illegalacces ception e1 try catch illegalargumentexception e catch illegalacces ception...

Java反射機制

1.反射是指程式在執行時,可以通過反射機制拿到任何乙個類的內部所有資訊。2.可以獲得類的所有屬性資訊,包括私有屬性,並對其進行操作 3.可以獲得物件所對應的類 4.可以拿到本類,或父類中的方法,並且對其進行操作。常用方法 getname 獲得類對應的名稱 getdeclaredfields 獲得類中...