posts - 42,  comments - 84,  trackbacks - 0

            開發(fā)的時候有時候會碰到這樣的情況,我們在寫程序的時候并不知道需要調(diào)用某個對象的哪個方法,只有程序運行后,我們才能夠知道。或許我們需要根據(jù)客戶端傳過來的某個String參數(shù)的值來判斷我們應該執(zhí)行哪個方法。在這種情況下JAVA的反射執(zhí)行就可以幫上忙了。下面是我做的一個簡單的測試代碼,提供給大家做個參考。

          import java.lang.reflect.InvocationTargetException;
          import java.lang.reflect.Method;

          /**
           * 
          @author Dong
           * 測試JAVA reflect機制
           
          */

          public class TestRef{
              
          /**
               * 
          @param args
               
          */

              
          public static void main(String[] args){
                      TestBean test 
          = new TestBean();
                      Method[] methods 
          = test.getClass().getMethods();
                      test.setAbc(
          "---");
                      
          for(int i=0;i<methods.length;i++){
                          
          if(methods[i].getName().equalsIgnoreCase("getabc")){
                              
          try {
                                  System.out.println(methods[i].invoke(test));
                              }
           catch (IllegalArgumentException e) {
                                  e.printStackTrace();
                              }
           catch (IllegalAccessException e) {
                                  e.printStackTrace();
                              }
           catch (InvocationTargetException e) {
                                  e.printStackTrace();
                              }

                          }

                      }

              }

          }

          posted on 2008-06-05 16:36 Dong 閱讀(10206) 評論(7)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 合山市| 石门县| 太湖县| 阿坝县| 沭阳县| 志丹县| 镇宁| 玛纳斯县| 翼城县| 兴义市| 沐川县| 天峨县| 无棣县| 漾濞| 咸丰县| 中阳县| 中山市| 顺昌县| 大竹县| 涞源县| 威海市| 东宁县| 枝江市| 大港区| 江西省| 洛阳市| 和田市| 大安市| 江都市| 嘉善县| 泰兴市| 喀喇沁旗| 罗源县| 突泉县| 正宁县| 龙里县| 龙川县| 绥中县| 资中县| 嘉定区| 瑞丽市|