public String getName() {
return this.name;
}
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
public static void main(String[] args) throws CloneNotSupportedException {
Test shepp = new Test();
shepp.setName("first");
Test shepp2 = shepp; //只是将两个值指向了同一个对象了所以会相互影响到对方的值!
System.out.println(shepp2.getName());
Test shepp3 = (Test)shepp.clone();//再做一个实际的副本出来就不会相互影响的!
shepp3.setName("another");
System.out.println(shepp3.getName());
System.out.println(shepp.getName());
}
}
输出:
first
another
first
(这就是拷贝的好处了!)
要考虑一下什么时候用浅clone什么时候用深clone