作者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
1F:推 michael47:我的问题是为何不能直接呼叫Object的clone() 03/06 22:46
2F:推 michael47:不是说为何不能呼叫其它class的clone() 03/06 22:51
3F:推 jinn:推版标XD 03/06 23:10
※ 编辑: dream1124 来自: 1.162.125.37 (03/06 23:32)