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 劉錚 閱讀(230) 評論(0)  編輯  收藏 所屬分類: JAVA General

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

          導航

          統計

          留言簿(1)

          文章分類(141)

          文章檔案(147)

          搜索

          最新評論

          主站蜘蛛池模板: 孝感市| 齐齐哈尔市| 新化县| 湟源县| 清远市| 罗城| 名山县| 昭苏县| 石楼县| 阿城市| 襄汾县| 娱乐| 仪征市| 舒兰市| 济南市| 芦溪县| 旌德县| 张北县| 华坪县| 芜湖市| 策勒县| 广元市| 喀喇沁旗| 苏尼特右旗| 辉南县| 中江县| 三河市| 鄱阳县| 万山特区| 丰镇市| 万载县| 九龙坡区| 黄骅市| 南通市| 吉安市| 镇康县| 惠东县| 蒙山县| 阳朔县| 正阳县| 荣成市|