<分区>
我阅读了很多关于 Object 的 clone() 方法和 Cloneable 接口(interface)的线程,但我找不到对我的问题的合理答案。 长话短说:
我发现 Object 有一个方法 clone() 可以“神奇地”克隆你的对象。但是如果不实现 Cloneable 接口(interface)就不能使用该方法,因为该接口(interface)允许 Object 使用 clone() 方法。那么他们为什么要这样做呢?为什么不应该从一开始就让每个对象都是可克隆的?
<分区>
我阅读了很多关于 Object 的 clone() 方法和 Cloneable 接口(interface)的线程,但我找不到对我的问题的合理答案。 长话短说:
我发现 Object 有一个方法 clone() 可以“神奇地”克隆你的对象。但是如果不实现 Cloneable 接口(interface)就不能使用该方法,因为该接口(interface)允许 Object 使用 clone() 方法。那么他们为什么要这样做呢?为什么不应该从一开始就让每个对象都是可克隆的?
最佳答案
Cloneable 对某些可变数据有意义。
没有意义
一些编码风格建议将新的可变数据对象保持在最低限度。 Cloneable 并不适合所有情况,如果您将所有对象设为 Cloneable,您将无法彻底关闭它。
注意:有许多项目避免在任何地方使用 Cloneable。
关于java - 为什么一个对象不能被克隆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16315628/