public class CloneDemo{
public static void main(String[] args)throws CloneNotSupportedException{
Table table=new Table();
table.setCenter(new Point(2,3));
Point orrginalCenter=table.getCenter();
Table clonedTable=(Table)table.clone();
Point clonedCenter=clonedTable.getCenter();
System.out.printf("原来的Table中心:(%d,%d)/n",
originalCenter.getX(),originalCenter.getY());
System.out.printf("复制的Table中心:(%d,%d)/n"
originalCenter.getX(),originalCenter.getY());
clonedCenter.setX(10);
clonedCenter.setY(10);
System.out.printf("原来Table的中心:(%d,%d)/n",
originalCenter.getX(),originalCenter.getY());
System.out.printf("复制Table的中心:(%d,%d)/n",
clonedCenter.getX(),clonedCenter.getY());
}
}
本文通过一个Java示例展示了如何使用克隆方法复制对象,并探讨了浅拷贝导致的问题。示例中,原始对象和克隆对象共享相同的Point对象,修改克隆对象的Point属性后,发现原始对象的Point属性也被改变。
478

被折叠的 条评论
为什么被折叠?



