作者dream1124 (全新開始)
看板java
標題Re: [問題] Object的clone()問題
時間Thu Mar 6 20:43:56 2014
※ 引述《michael47 (hitman)》之銘言:
: 請問Object class的method, clone(),的modifier是設為protected,
: 對於protected的method,不是只要是該class的descendant就可以call嗎?
: 但是所有的objects不是都是Object class的descendants嗎?
: 如果是這樣,為何其它的class不能直接使用Object的clone()?
你跟你的兄弟姊妹都有爸媽的基因,都繼承一些血統,
但捐血時,抽你的血就會抽到你兄弟姊妹的血嗎?
抽你的血就等於抽你兄弟姊妹的血嗎?
顯然不是~
那麼這裡不能直接使用其他類別的原因也是一樣的。
其實你不用想得那麼複雜,單純從 protected 的權限觀點看這個例子就可以了
如果你想知道為什麼 Java 要這樣設計,
或著要怎樣才能呼叫某類別實例的 clone 方法
這是因為 clone 方法是要給其他類別以 public 修飾詞覆寫實現的
細節可以參考
http://royaltykao.blogspot.tw/2008/10/javaclone.html
http://karrysu.blogspot.tw/2011/04/javaclone.html
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.162.125.37
推 michael47:我的問題是為何不能直接呼叫Object的clone() 03/06 22:46
推 michael47:不是說為何不能呼叫其它class的clone() 03/06 22:51
推 jinn:推版標XD 03/06 23:10
※ 編輯: dream1124 來自: 1.162.125.37 (03/06 23:32)