浅克隆只是克隆s1对象,但是针对s1中的引用类型属性只是克隆地址
import java.util.Date;
//只是克隆s1对象,但是针对s1中的引用类型属性只是克隆地址
public class 浅克隆 {
public static void main(String[] args) throws Exception {
Stu s1=new Stu();
s1.setId(200L);
s1.setBirth(new Date());
Stu s2=(Stu)s1.clone();
s2.getBirth().setYear(9000);
System.out.println("s1..."+s1);
System.out.println("s2..."+s2);
}
}
class Stu implements Cloneable{
private Long id;
private Date birth;
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
@Override
public String toString() {
return "stu [id=" + id + ", birth=" + birth + "]";
}
}