亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

根據方法名獲取方法的值,類中出現了重載,怎么辦

Method getMethod = c.getMethod(getMethodName);

我要是有兩個相同名稱,不同返回值的類型不同,這時候根據方法名獲取的方法,就有兩個方法了啊,就是說類中出現了重載,怎么辦?


正在回答

3 回答

在括號里方法名后邊,在填一個實參,對應該方法的類型就行了

0 回復 有任何疑惑可以回復我~
#1

qq_云在風中_0 提問者

能否描述的更清晰一點
2016-05-31 回復 有任何疑惑可以回復我~
#2

qq_云在風中_0 提問者

括號里的方法名后面跟的不是實參,是參數列表類型
2016-05-31 回復 有任何疑惑可以回復我~
	Demo?mDemo?=?new?Demo("abc");
????????Class?c?=?mDemo.getClass();
????????Method?method?=?c.getMethod("putOut",?String.class);
????????String?string?=?(String)?method.invoke(mDemo,?"123");
????????System.out.println(string);

測試代碼,可以通過

1 回復 有任何疑惑可以回復我~
????public?transient?Method?getMethod(String?s,?Class?aclass[])
????????throws?NoSuchMethodException,?SecurityException
????{
????????checkMemberAccess(0,?Reflection.getCallerClass(),?true);
????????Method?method?=?getMethod0(s,?aclass);
????????if(method?==?null)
????????????throw?new?NoSuchMethodException((new?StringBuilder()).append(getName()).append(".").append(s).append(argumentTypesToString(aclass)).toString());
????????else
????????????return?method;
????}

哦,看了一下getMethod方法,才知道,后面可以跟參數列表類型

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

根據方法名獲取方法的值,類中出現了重載,怎么辦

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號