【发布时间】:2012-08-10 16:22:48
【问题描述】:
我有一个关于 Java 中 clone() 方法的快速问题,在继承方面用作 super.clone() - 我在父类中从按钮一直调用 clone() 方法。
clone()方法应该返回这个对象的一个副本,但是如果我在一个继承heirachy中有三个类并调用super.clone() 3次,为什么继承heirachy中的最高类没有,就在下面类对象,获取该类返回的副本?
假设我们有三个类:A、B、C,其中 A -> B -> C (inherit = ->)
然后在 C 类中调用 super.clone(),在 B 中调用 clone(),在 B 中调用 super.clone(),在 A 中调用 clone(),在 A 中调用 super.clone()'这次 Object.clone() 被调用'。为什么它不是从Object.clone() 返回的关于类A 的this 对象的副本?这对我来说听起来很合乎逻辑。
【问题讨论】:
标签: java object inheritance clone instance