23 Java入門 反射之方法反射的基本操作

2021-07-24 05:58:57 字數 1421 閱讀 6156

方法的反射:

1.獲取a類中的print(int,int)方法:

①要獲取乙個方法就是獲取類的資訊,獲取類的資訊首先要獲取類的類型別

a a1=new a();  class c= a1.getclass();

②獲取方法 由名稱和引數列表來決定,getmethod獲取的是public方法,getdelcaredmethod獲取自己宣告的方法

method m =c.getmethod(methodname,paramtypes);//paramtypes可以用陣列的形式表示new class,也可以直接列舉類型別

2.方法的反射操作:是用m物件來進行方法呼叫,和a1.print(10,20)呼叫的方法相同m.invoke(a1,new object{10,20})

object o=m.invoke(物件名,引數);//方法如果沒有返回值返回null,如果有返回值返回具體值,引數可用陣列的方式表示,也可以直接列舉,沒有引數就不寫

獲取乙個方法就是獲取類的資訊,首先獲得這個類的類型別:

獲取方法:名稱和引數列表來決定。

方法的反射

public class methoddemo1 );

method m = c.getmethod("print", int.class,int.class);

//方法的反射操作 

20);方法的反射操作是用m物件來進行方法呼叫 和a1.print呼叫的效果完全相同

//方法如果沒有返回值返回null,有返回值返回具體的返回值

//object o = m.invoke(a1,new object);

object o = m.invoke(a1, 10,20);

system.out.println("***************===");

//獲取方法print(string,string)

method m1 = c.getmethod("print",string.class,string.class);

//用方法進行反射操作

"hello", "world");

o = m1.invoke(a1, "hello","world");

system.out.println("***************====");

// method m2 = c.getmethod("print", new class{});

method m2 = c.getmethod("print");

// m2.invoke(a1, new object{});

m2.invoke(a1);

} catch (exception e)  }}

class a

public void print(int a,int b)

public void print(string a,string b)

}

java反射 方法

取全部set方法 param t return public static final setget methods class t return methodset method知識 1.類方法 用static修飾的方法。由於類方法是屬於整個類的,所以類方法的方法體中不能有與類的物件有關的內容。即...

java反射訪問方法

通過下列一組方法訪問方法是,將返回method型別的物件或者陣列,每個method代表乙個方法,利用method可以操縱對應的方法。a 獲取所有方法 陣列 1 getmethods 獲取該類包括其父類的公共成員方法 2 getdeclaredmethods 獲取該類的所有的成員方法 b 獲取單個方法...

Java 反射 普通方法

獲取普通方法 借助class類某些可以獲取對應類中宣告的普通方法例項物件,這些方法有 對parametertypes的解釋 如果方法引數的資料型別為基本資料型別,則parametertype應為基本資料型別包裝類.type 如果方法引數的資料型別為基本資料型別包裝類,則的資料型別應為包裝類.clas...