<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-16  評論-50  文章-2  trackbacks-0

    如果想在運行時生成新的對象,并且這個對象的類型是全新的,是現有系統中沒有的。就可以用Proxy類中的靜態方法newProxyInstance來實現。其API如下:

    public static Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler handler);

    參數:

    • loader: 類加載器。如果為null,就要默認類加載器
    • interfaces: 這個新類要實現的接口組
    • 調用處理器。

    函數返回的對象類型是$Proxyn, (n >= 0. 第一次調用這個方法,新類名為$Proxy0, 第二個新類名為$Proxy1, 以此類推)

    生成的$Proxyn 的源代碼大致類似如此:

    public final class $Proxy0 implements interfaces {
        InvocationHandler handler;

        public String toString() {
            Method m = this.getClass().getMethod("toString");
            handler.invoke(this, m, m.getParameters());
        }

        public int hashCode() {
            Method m = this.getClass().getMethod("hashCode");
            handler.invoke(this, m, m.getParameters());
        }

        public String equals() {
            Method m = this.getClass().getMethod("equals");
            handler.invoke(this, m, m.getParameters());
        }

       
        // 以下是實現interfaces的方法
        public return_type interfaces_method(args...) {
            Method m = this.getClass().getMethod("equals");
            handler.invoke(this, m, m.getParameters());       
       }

       ... ...接口interfaces中的其他方法  
    }

     

    當我們這樣調用時: Object o = Proxy.newProxyInstance(null, interfaces, handler0);

    就生成一個新$Proxy0類的對象o, 這個對象o的字段handler被賦值為handler0。$Proxy0實現了interfaces中所有的接口,其實現方式都一樣,就是調用字段handler的invoke方法。其UML圖如下:

    proxy

    posted on 2008-01-06 14:11 Jeff Lau 閱讀(1487) 評論(1)  編輯  收藏 所屬分類: Jeff On Java 2008

    評論:
    # re: 代理(Proxy) 2008-02-29 10:08 | CoderDream
    不錯!

    不過都是偽代碼,讓初學者很難看懂!  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费毛片a在线观看67194 | 女人18毛片水真多免费播放| 亚洲AV无码成人网站久久精品大| 一级特黄录像免费播放肥| www.亚洲色图| 一本久久免费视频| 亚洲精品亚洲人成在线观看下载| 免费一区二区三区在线视频| 亚洲男人的天堂在线va拉文| 亚洲国产免费综合| 亚洲国产精品成人精品无码区在线| 182tv免费视频在线观看 | 亚洲人成网址在线观看| 最近免费中文字幕高清大全 | 亚洲色www永久网站| 无码一区二区三区免费视频 | 亚洲七久久之综合七久久| 日本久久久免费高清| 国产成人无码精品久久久免费 | 亚洲国产成人精品激情| 永久中文字幕免费视频网站| 搜日本一区二区三区免费高清视频| 在线a亚洲v天堂网2019无码| 无码囯产精品一区二区免费| 亚洲日韩精品无码专区加勒比 | 国产成人一区二区三区免费视频| 国产精品亚洲综合网站| 亚洲人成网7777777国产| 亚洲黄色免费网站| 亚洲AV无码AV日韩AV网站| 亚洲日本韩国在线| 亚洲免费视频网址| 免费高清A级毛片在线播放| 亚洲精品乱码久久久久久蜜桃不卡 | 自拍偷自拍亚洲精品播放| 亚洲熟妇中文字幕五十中出| 最近2019免费中文字幕视频三| 亚洲妇女无套内射精| 亚洲va中文字幕无码久久不卡 | 亚洲区不卡顿区在线观看| 在线观看永久免费|