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.color.color);
ColoredCircle cc1 = new ColoredCircle(this.x, c);
return cc1;
}
}
在上面提到的 ColoredCircle 类中,我们有一个名为 testClone() 的方法,它的工作原理与深度克隆完全相同。现在我对是否有必要实现 Cloneable 来克隆这一事实感到困惑?上面的程序是一种深度克隆吗?