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 閱讀(2057) 評論(1)  編輯  收藏 所屬分類: Java

          評論

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

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

          主站蜘蛛池模板: 枣阳市| 偏关县| 黄骅市| 武定县| 涡阳县| 兴仁县| 灯塔市| 益阳市| 玛曲县| 白河县| 咸阳市| 泸水县| 家居| 石林| 新宾| 泾阳县| 左贡县| 叙永县| 光山县| 宣化县| 科技| 云阳县| 大冶市| 绍兴市| 安塞县| 巨野县| 比如县| 睢宁县| 白玉县| 鄂尔多斯市| 镇赉县| 白朗县| 临西县| 湘潭市| 谢通门县| 山阴县| 松阳县| 来宾市| 潞城市| 东丽区| 神池县|