Java可复制的接口

当复制一个变量时,原本和复本引用的是同一个对象,所以对任何一个变量的修改都会影响到另一个:
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()方法将按位复制对象。

你可能感兴趣的:(java)