今天凌晨coding的時候發現一個很有趣的現象。“Object類是Java體系的單根父節點,所有Java類都從Object類繼承。”這句話是大部分green hand都知道的Java金句,毋庸置疑。那如果我問你接口和Object類的關系呢?答案是“沒有關系”。請看下面的代碼:
1
Map map = new HashMap();
2
map.clone(); Map是一個接口,HashMap是一個類。clone()方法在Object類中定義,因此我下意識認為第二行可以這么寫。結果編譯器報錯:clone()方法未定義。這個錯誤讓我很郁悶,看了半天doc才發祥原來Map是一個接口,而接口和Object類沒有任何關系,所以Map也就沒有繼承clone()。于是把代碼改成下面的樣子:
1
HashMap map = new HashMap();
2
map.clone(); 這樣就可以了。
posted on 2005-08-19 13:53
^ Mustang ^ 閱讀(2437)
評論(9) 編輯 收藏 所屬分類:
Java 點滴