java – 为什么我们实现Cloneable,即使我们可以使用以下代码片
发布时间:2020-12-15 01:03:59 所属栏目:Java 来源:网络整理
导读:public class Color { String color; Color(String color) { this.color=color; } }public class ColoredCircle {int x;Color color;ColoredCircle(int x,Color color){ this.x=x; this.color=color;}public Object testClone(){ Color c = new Color(this.c
在上面提到的ColoredCircle类中,我们有一个名为testClone()的方法,它与Deep Cloning完全相同. 最佳答案
是否有必要实现Cloneable克隆?是的.clone()方法具有受保护的访问修饰符,具有以下Javadoc说明: –
此方法创建此对象的类的新实例,并使用此对象的相应字段的内容初始化其所有字段,就像通过赋值一样;这些字段的内容本身不会被克隆.因此,此方法执行此对象的浅拷贝,而不是深拷贝操作. 您的方法testClone虽然在克隆行为中可能是正确的,但本身不是可克隆对象.可克隆对象必须实现Cloneable接口,并且最好具有clone()的公共访问权限,以便可以在类外部使用它. 有人抄袭你的课将很难理解testClone()方法的重要性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |