Clone 说好的浅复制呢? 难道是我懵逼了!
沁海棠 2017-04-06 06:42:07 public class Clone implements Cloneable{
private String str;
private Date date;
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@Override
public Object clone() throws CloneNotSupportedException{
Object obj = super.clone();
return obj;
}
public Clone(String str, Date date) {
super();
this.str = str;
this.date = date;
}
public static void main(String[] args) throws CloneNotSupportedException {
//构造一个Clone
Date d = new Date(13213145L);
Clone clone = new Clone("什么鬼",d);
//通过克隆出另一个对象
Clone clone2 = (Clone) clone.clone();
System.out.println(clone.getStr());
System.out.println(clone.getDate());
System.out.println(clone2.getStr());
System.out.println(clone2.getDate());
System.out.println(clone);
System.out.println(clone2);
//可以发现克隆出来的对象和原有的对象属性都相同,那么什么是浅复制,什么是复制
//clone.setStr("123");
clone.setDate(new Date());
System.out.println(clone.getStr());
System.out.println(clone.getDate());
System.out.println(clone2.getStr());
System.out.println(clone2.getDate());
}
}
不是说好浅复制么,难道是我又懵逼了?