duansky'weblog

          統(tǒng)計

          留言簿(3)

          友情鏈接

          閱讀排行榜

          評論排行榜

          通過Java反射調(diào)用方法

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

          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,?
          "重新設(shè)置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反射的測試類");?
          ????}
          ?
          }
          控制臺輸出結(jié)果:

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

          Process?finished?with?exit?code?
          0


          轉(zhuǎn)自:http://lavasoft.blog.51cto.com/62575/61002

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

          評論

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

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

          主站蜘蛛池模板: 曲沃县| 绥宁县| 潞城市| 德保县| 奎屯市| 浙江省| 星座| 沂水县| 义乌市| 宜君县| 淮安市| 册亨县| 安达市| 安溪县| 龙江县| 门头沟区| 收藏| 厦门市| 金乡县| 赤水市| 安顺市| 社旗县| 瑞昌市| 灵寿县| 英德市| 万盛区| 东阿县| 缙云县| 峨山| 南江县| 宜春市| 吐鲁番市| 都江堰市| 汾西县| 赤壁市| 桃园县| 新津县| 鄂尔多斯市| 德清县| 邵东县| 布拖县|