【发布时间】:2012-07-17 10:54:07
【问题描述】:
考虑以下来自有效 Java 条款 11(明智地覆盖克隆)的内容,其中 Josh Bloch 解释了 clone() 合同的问题。
这份合同存在许多问题。规定“不 构造函数被调用”太强大了。行为良好的克隆方法可以调用构造函数 在正在构建的克隆内部创建对象。如果班级是 final,clone 甚至可以返回一个构造函数创建的对象。
有人可以通过“如果类是final,clone 甚至可以返回由构造函数创建的对象”来解释 Josh Bloch 在第一段中所说的话。这里的final 和clone() 有什么关系?
【问题讨论】: