小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Method類invoke方法的使用

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

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

//實例化對象   
try {
    obj = clz.newInstance();
   } catch (InstantiationException e1) {
    e1.printStackTrace();
   } catch (IllegalAccessException e1) {
    e1.printStackTrace();
}
 
//invoke,執(zhí)行對應(yīng)類的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;
}
 
 
 

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多