第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用反射調(diào)用靜態(tài)方法

使用反射調(diào)用靜態(tài)方法

偶然的你 2019-10-17 11:20:05
我想調(diào)用main靜態(tài)的方法。我得到了類型的對(duì)象Class,但是我無法創(chuàng)建該類的實(shí)例,也無法調(diào)用該static方法main。
查看完整描述

3 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

// String.class here is the parameter type, that might not be the case with you

Method method = clazz.getMethod("methodName", String.class);

Object o = method.invoke(null, "whatever");

如果該方法是私有使用getDeclaredMethod()而不是getMethod()。并調(diào)用setAccessible(true)方法對(duì)象。


查看完整回答
反對(duì) 回復(fù) 2019-10-17
?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊

從Method.invoke()的Javadoc中:


如果基礎(chǔ)方法是靜態(tài)的,則忽略指定的obj參數(shù)。它可以為空。

當(dāng)你會(huì)發(fā)生什么


類別klass = ...;

方法m = klass.getDeclaredMethod(methodName,paramtypes);

m.invoke(null,args)


查看完整回答
反對(duì) 回復(fù) 2019-10-17
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

String methodName= "...";

String[] args = {};


Method[] methods = clazz.getMethods();

for (Method m : methods) {

    if (methodName.equals(m.getName())) {

        // for static methods we can use null as instance of class

        m.invoke(null, new Object[] {args});

        break;

    }

}


查看完整回答
反對(duì) 回復(fù) 2019-10-17
  • 3 回答
  • 0 關(guān)注
  • 1154 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)