JAVA動態代理學習心得

           

          JAVA動態代理學習心得

          1.       所有的額外新添加的方法要放到InvocationHandler的實現類中

          2.       Proxy類都與InvocationHandler相聯系的,也就是說Proxy類的中的方法調用都會被重新分配到實例的InvoctionHandler中的invoke方法中,傳遞了reflect中的method

          3.       創建Java動態代理類的步驟:

          a)       實現InvocationHandler接口

          b)      通過Proxy.newProxyInstance得到一個Proxy類的實例

          一般的寫法如下:

          public class XXXHandler implements InvocationHandler {

          private Object originalObject;

          public Object bind(Object obj) {

          this.originalObject = obj;

          return Proxy.newProxyInstance(

          obj.getClass().getClassLoader(),

          obj.getClass().getInterfaces(),

          this)

          }

          public Object invoke(Object proxy, Method method, Object[] args)

          throws Throwable {

          method.invoke(originalObject, args);

          }

          4.       這樣調用XXXHandler:代理目標的接口類= XXXHandler的實例.bind(代理目標的實現類)

          posted on 2007-09-06 16:18 劉錚 閱讀(229) 評論(0)  編輯  收藏 所屬分類: JAVA General

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評論

          主站蜘蛛池模板: 万州区| 汉中市| 洪雅县| 满城县| 专栏| 磐安县| 汕头市| 巴里| 固始县| 应用必备| 施甸县| 武宣县| 长白| 军事| 叶城县| 玛沁县| 隆尧县| 通辽市| 昌江| 湾仔区| 江北区| 晋江市| 大名县| 庆阳市| 普兰县| 公主岭市| 桓仁| 四川省| 峨山| 灵山县| 南开区| 湖北省| 车致| 泰和县| 湘潭市| 阿瓦提县| 永和县| 民权县| 新邵县| 龙南县| 郓城县|