方法的反射:
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...