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