Method getMethod
Method getMethod(String name, Class<?>... parameterTypes)??
--返回一個(gè) Method 對(duì)象,它反映此 Class 對(duì)象所表示的類或接口的指定公共成員方法。??
方法后面接收的就是Class類的對(duì)象,而如:String.class、int.class這些字節(jié)碼才是Class類的對(duì)象?
也可以此種方式:
//getMethod第一個(gè)參數(shù)是方法名,第二個(gè)參數(shù)是該方法的參數(shù)類型,
//因?yàn)榇嬖谕椒煌瑓?shù)這種情況,所以只有同時(shí)指定方法名和參數(shù)類型才能唯一確定一個(gè)方法
Method?method?=?XXX.getClass().getMethod(methodName,new?Class[0]);
?//第一個(gè)參數(shù)是具體調(diào)用該方法的對(duì)象
?//第二個(gè)參數(shù)是執(zhí)行該方法的具體參數(shù)????
?
如一個(gè)函數(shù) int Test(int a, String str);
對(duì)應(yīng)的getMethod方法:
1.? getMethod("Test",int.class,String.class);
2. getMethod("Test",new Class[]{int.class,String.class});
?
?
然后通過invoke來調(diào)用此方法:
函數(shù)原型:Object?Java.lang.reflect.Method.invoke(Object receiver, Object... args)
//Method類的invoke(Object obj,Object args[])方法接收的參數(shù)必須為對(duì)象,
?//如果參數(shù)為基本類型數(shù)據(jù),必須轉(zhuǎn)換為相應(yīng)的包裝類型的對(duì)象。invoke()方法的返回值總是對(duì)象,
? //如果實(shí)際被調(diào)用的方法的返回類型是基本類型數(shù)據(jù),那么invoke()方法會(huì)把它轉(zhuǎn)換為相應(yīng)的包裝類型的對(duì)象,再將其返回
receiver:該方法所在類的一個(gè)對(duì)象
args: 傳入的參數(shù) 如 100,“hello”
詳細(xì)參見:http://www.linuxidc.com/Linux/2009-09/21571.htm
轉(zhuǎn)載于:https://www.cnblogs.com/douder/p/7237883.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Method getMethod的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 16.04下使用gcc输出
- 下一篇: 基于互联网大数据的管理创新