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

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

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

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

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

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

          這樣就可以了。

          兄弟,你這樣是測試不出來的。java是絕對多態(tài)的。
          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
          主站蜘蛛池模板: 鲁山县| 金坛市| 和龙市| 新密市| 榆树市| 博罗县| 盐亭县| 名山县| 尼勒克县| 沧州市| 肇东市| 卢湾区| 永春县| 平南县| 伊宁县| 阿拉善左旗| 庆元县| 如东县| 桓仁| 岑溪市| 双城市| 玛纳斯县| 肇源县| 城口县| 平顶山市| 清徐县| 永寿县| 江源县| 衡阳县| 张家口市| 滨州市| 古浪县| 盖州市| 汝南县| 梓潼县| 汕头市| 洪湖市| 海阳市| 临安市| 化德县| 太保市|