对象克隆
当拷贝一个变量时,原始变量与拷贝变量引用同一个对象,也就是说,改变一个对象所引用的对象会将对另一个变量产生影响。
Employee original = new Employee(“JohnPublic”,50000);
Employee copy = original;
Copy.raiseSalary(10);//--alse changedoriginal
如果创建一个对象的新的copy,它的初始状态与original一样,但以后将可以各种改变各自的状态,那就需要使用clone方法。
Employee original = new Employee(“JohnPublic”,50000);
Employee copy = original.clone();
Copy.raiseSalary(10);//-- original unchanged
默认的克隆操作是浅拷贝,它并没有克隆包含在对象中的内部对象。
为了实现深拷贝,必须克隆所有可变的实例域。