隨筆 - 4  文章 - 10  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          今天凌晨coding的時候發現一個很有趣的現象。“Object類是Java體系的單根父節點,所有Java類都從Object類繼承。”這句話是大部分green hand都知道的Java金句,毋庸置疑。那如果我問你接口和Object類的關系呢?答案是“沒有關系”。請看下面的代碼:

          1Map map = new HashMap();
          2map.clone();

          Map是一個接口,HashMap是一個類。clone()方法在Object類中定義,因此我下意識認為第二行可以這么寫。結果編譯器報錯:clone()方法未定義。這個錯誤讓我很郁悶,看了半天doc才發祥原來Map是一個接口,而接口和Object類沒有任何關系,所以Map也就沒有繼承clone()。于是把代碼改成下面的樣子:

          1HashMap map = new HashMap();
          2map.clone();

          這樣就可以了。

          兄弟,你這樣是測試不出來的。java是絕對多態的。
          Map map = new HashMap();
          map.clone()調用相當于HashMap.clone()也就是說調用的是從HashMap中的clone方法。但是你沒有看清楚object的文檔,class要顯式implements Clonable接口才可以調用clone方法的 
          posted on 2007-08-16 14:50 冬天出走的豬 閱讀(777) 評論(0)  編輯  收藏 所屬分類: j2se
          主站蜘蛛池模板: 潮州市| 桐乡市| 玉田县| 吐鲁番市| 天等县| 新竹市| 治县。| 理塘县| 会理县| 麻江县| 桃江县| 横峰县| 资溪县| 黎城县| 景宁| 阿坝县| 沂水县| 丰宁| 云安县| 四子王旗| 绥中县| 上思县| 永吉县| 南充市| 北川| 淮滨县| 德昌县| 兴城市| 博爱县| 昌都县| 二连浩特市| 定边县| 高尔夫| 榆树市| 绍兴市| 磴口县| 长兴县| 清徐县| 和林格尔县| 鄂托克前旗| 双鸭山市|