国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

知道類名,方法名,和參數這三個字符串,怎么調用函數

2019-11-15 01:19:27
字體:
來源:轉載
供稿:網友
知道類名,方法名,和參數這三個字符串,怎么調用函數

  現有三個字符串,一個是類名,一個是方法名,一個是方法的參數,三個都是字符串。現需要調用該方法,具體操作如下。

  1)、先獲得該類。

    Class cname=null;    try {        cname = Class.forName (classname);    } catch (ClassNotFoundException e) {    e.PRintStackTrace();    }    

  Class.forName (classname);該方法的作用是通過反射獲取這個類對象,關于反射請參考http://m.survivalescaperooms.com/xiufengd/p/4723426.html,或自己百度。

  2)、獲取方法

Method[] methodes = cname.getDeclaredMethods();for (int i = 0; i < methodes.length; i++){    method = methodes[i];    if (method.getName().equals(methodName))    {          //其他操作    }}

  反射后獲得的類對象有一個方法:getDeclaredMethods(),該方法的作用是獲得類或接口聲明的所有方法。然后循環遍歷獲得的方法數據,通過getName方法判斷與要求方法相同的方法,然后獲得這個Method對象。

  3)、調用方法

Object result=null;if(arg.equals("")){    result = method.invoke(cname,null);}else if(arg.split(",").length==1){    result = method.invoke(cname, arg);}

  Method對象有一個方法為invoke方法,該方法有兩個參數,第一個表示類名,第二個表示參數,該方法的作用就是調用cname這個類的method方法,方法的參數為arg。

目前存在的問題:

  因為arg這個參數是一個字符串,所以所有的操作只能在具體方法中再進行分割成參數數組,然后調用多個參數。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳西县| 绥滨县| 五指山市| 哈巴河县| 滕州市| 宝兴县| 石狮市| 凉山| 霍山县| 枣庄市| 旌德县| 郑州市| 西平县| 安阳市| 蒙城县| 图木舒克市| 台前县| 五原县| 郎溪县| 壤塘县| 滦平县| 申扎县| 庆安县| 大足县| 嘉荫县| 清丰县| 黄梅县| 巴中市| 南阳市| 阆中市| 梁河县| 万山特区| 海林市| 东方市| 大余县| 手机| 尚志市| 色达县| 工布江达县| 鄂托克前旗| 中卫市|