当复制一个变量时,原本和复本引用的是同一个对象,所以对任何一个变量的修改都会影响到另一个:
Day Bday=new Day(1998,8,16);
Day d=Bday;
d.advance(100);
这样Bday也被改变了。
如果希望d成为类似Bday的对象,而且相互之间脱离了关系,就需要使用clone()方法。
Day Bday=new Day(1998,8,16);
Day d=(Day)Bday.clone();
d.advance(100);
这样Bday就不会被改变了。
clone()方法是Objet类中用protected修饰符声明的方法,因此代码不能简单的调用。它可以通过可复制接口实现。
clone()方法将按位复制对象。



这样Bday也被改变了。
如果希望d成为类似Bday的对象,而且相互之间脱离了关系,就需要使用clone()方法。



这样Bday就不会被改变了。
clone()方法是Objet类中用protected修饰符声明的方法,因此代码不能简单的调用。它可以通过可复制接口实现。
clone()方法将按位复制对象。