duansky'weblog

          統計

          留言簿(3)

          友情鏈接

          閱讀排行榜

          評論排行榜

          通過Java反射調用方法

          這是個測試用的例子,通過反射調用對象的方法。

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

          /**?
          *?Created?by?IntelliJ?IDEA.?
          *?File:?TestRef.java?
          *?User:?leizhimin?
          *?Date:?2008-1-28?14:48:44?
          */
          ?
          public?class?TestRef?{?

          ????
          public?static?void?main(String?args[])?throws?NoSuchMethodException,?IllegalAccessException,?InvocationTargetException?{?
          ????????Foo?foo?
          =?new?Foo("這個一個Foo對象!");?
          ????????Class?clazz?
          =?foo.getClass();?
          ????????Method?m1?
          =?clazz.getDeclaredMethod("outInfo");?
          ????????Method?m2?
          =?clazz.getDeclaredMethod("setMsg",?String.class);?
          ????????Method?m3?
          =?clazz.getDeclaredMethod("getMsg");?
          ????????m1.invoke(foo);?
          ????????m2.invoke(foo,?
          "重新設置msg信息!");?
          ????????String?msg?
          =?(String)?m3.invoke(foo);?
          ????????System.out.println(msg);?
          ????}
          ?
          }
          ?

          class?Foo?{?
          ????
          private?String?msg;?

          ????
          public?Foo(String?msg)?{?
          ????????
          this.msg?=?msg;?
          ????}
          ?

          ????
          public?void?setMsg(String?msg)?{?
          ????????
          this.msg?=?msg;?
          ????}
          ?

          ????
          public?String?getMsg()?{?
          ????????
          return?msg;?
          ????}
          ?

          ????
          public?void?outInfo()?{?
          ????????System.out.println(
          "這是測試Java反射的測試類");?
          ????}
          ?
          }
          控制臺輸出結果:

          這是測試Java反射的測試類?
          重新設置msg信息!?

          Process?finished?with?exit?code?
          0


          轉自:http://lavasoft.blog.51cto.com/62575/61002

          posted on 2008-08-04 16:01 duansky 閱讀(2052) 評論(1)  編輯  收藏 所屬分類: Java

          評論

          # re: 通過Java反射調用方法[未登錄] 2012-07-26 14:11 key

          請告訴博主,他很帥!  回復  更多評論   

          主站蜘蛛池模板: 鸡东县| 长垣县| 泰顺县| 邻水| 雷波县| 桂平市| 南乐县| 乌兰浩特市| 泸定县| 南岸区| 石景山区| 泾阳县| 丰都县| 郴州市| 海安县| 济宁市| 剑河县| 广汉市| 深州市| 澄江县| 桓仁| 锡林浩特市| 湖南省| 额济纳旗| 泸溪县| 红原县| 龙州县| 江达县| 崇左市| 南溪县| 浮山县| 奉新县| 大足县| 壤塘县| 湛江市| 德安县| 太谷县| 台北县| 雷波县| 广东省| 建昌县|