对象克隆的优势:无需编写冗长和重复的代码。只需将抽象类与4或5行长clone()方法一起使用。 这是复制对象的最简单,最有效的方法,尤其是当我们将其应用于已开发或旧项目时。只需定义一个父类,在其中实现Cloneable,提供clone()方法的定义即可完成任务。 Clone()是复制数组的最快方法。
对象克隆的缺点:要使用Object.clone()方法,我们必须更改代码的许多语法,例如实现Cloneable接口,定义clone()方法和处理CloneNotSupportedException,最后调用Object.clone()等。 当其中没有任何方法时,我们必须实现Cloneable接口。我们必须使用它来告诉JVM我们可以对对象执行clone()。 Object.clone()受保护,因此我们必须提供自己的clone()并从中间接调用Object.clone() 它。 Object.clone()不调用任何构造函数,因此我们对对象构造没有任何控制。 如果要在子类中编写一个clone方法,则其所有超类都应在其中定义clone()方法或从另一个父类继承该方法。 否则,super.clone()链将失败。 Object.clone()仅支持浅表复制,但是如果需要深度克隆,则需要覆盖它。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。