考虑 Effective Java 第11条 (谨慎覆盖clone方法) 中的以下内容,Josh Bloch解释了
引用如下:
“这个合同有许多问题。规定“不调用任何构造函数”太过严格。行为良好的clone方法可以调用构造函数,在正在克隆的对象内部创建对象。如果类是final的,clone甚至可以返回由构造函数创建的对象。”
请问 Josh Bloch 在第一段中的“如果类是final,clone可以甚至返回由构造函数创建的对象”,是什么意思?在这里
clone()
合同存在的问题。引用如下:
“这个合同有许多问题。规定“不调用任何构造函数”太过严格。行为良好的clone方法可以调用构造函数,在正在克隆的对象内部创建对象。如果类是final的,clone甚至可以返回由构造函数创建的对象。”
请问 Josh Bloch 在第一段中的“如果类是final,clone可以甚至返回由构造函数创建的对象”,是什么意思?在这里
final
与 clone()
有什么关系吗?