电竞比分网-中国电竞赛事及体育赛事平台

分享

Method類(lèi)invoke方法的使用

 dddTTLee 2010-10-25
java.lang.reflect.Method
public Object invoke(Object obj,Object args[])
參數(shù):
obj - 從中調(diào)用底層方法的對(duì)象,必須是實(shí)例化的對(duì)象
args - 用于方法調(diào)用的參數(shù),是個(gè)Object數(shù)組,因?yàn)閰?shù)有可能有多個(gè)
返回:
使用參數(shù) args 在 obj 上指派該對(duì)象所表示方法的結(jié)果 
 
例如:String result = (String)method.invoke(obj , sql);
執(zhí)行obj的method方法(參數(shù)為sql),返回String類(lèi)型結(jié)果
 
args參數(shù)可以為空,就是對(duì)應(yīng)方法沒(méi)有參數(shù),
如:new Car().getBM() ---- method.invoke( obj );//method為getBM,obj為Car類(lèi)
 
obj可以為空,但必填null,表示同類(lèi)中的公用方法,
如:getName( type ) ---- method.invoke( null ,  args);//method為getName,args為type
 
參數(shù)args是個(gè)Object數(shù)組,即使只有一個(gè)參數(shù),也要建object數(shù)組
如:getName(String aaa , String bbb )----需要2個(gè)參數(shù),method.invoke(null , new Object[] {aaa , bbb});//aaa , bbb分別為getName的2個(gè)參數(shù)
 
 

注意:obj必須是實(shí)例化的對(duì)象,如果有對(duì)應(yīng)的方法名,就可以實(shí)例化
 
部分代碼如下:
 
Class clz = getClass(clzName);
Object obj = null;

//實(shí)例化對(duì)象   
try {
    obj = clz.newInstance();
   } catch (InstantiationException e1) {
    e1.printStackTrace();
   } catch (IllegalAccessException e1) {
    e1.printStackTrace();
}
 
//invoke,執(zhí)行對(duì)應(yīng)類(lèi)的method方法
try {
     method.invoke(obj, new Object[]{elValue.trim()});
    } catch (IllegalArgumentException e) {
     e.printStackTrace();
    } catch (IllegalAccessException e) {
     e.printStackTrace();
    } catch (InvocationTargetException e) {
     e.printStackTrace();
    }
 
getClass在下面:
 
public static Class getClass(String className) {
        Class clz = null;
        try {
            clz = Class.forName(className);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return clz;
}
 
 
 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多