publicclassHouseimplementsCloneable{privateintid;privatedoublearea;privatejava.util.DatewhenBuilt;publicHouse(intid,doublearea){this.id=id;this.area=area;whenBuilt=newjav...
public class House implements Cloneable{
private int id;
private double area;
private java.util.Date whenBuilt;
public House(int id, double area) {
this.id = id;
this.area = area;
whenBuilt = new java.util.Date();
}
public double getId() {
return id;
}
public double getArea() {
return area;
}
public java.util.Date getWhenBuilt() {
return whenBuilt;
}
/** Override the protected clone method defined in the Object
class, and strengthen its accessibility */
public Object clone() {
try {
return super.clone();
}
catch (CloneNotSupportedException ex) {
return null;
}
}
}
我现在创建House类的一个对象,与它相同的复制品
House house1 = new House(1,1750.50);
House house2 = (House)house1.clone();
运行house1.whenBuilt == house2.whenBuilt 为 true
这说明这是浅复制,麻烦高手帮忙修改程序,使之成为深复制...
展开