代码改变世界

面向对象深入:继承05——对象的复制

2018-01-16 13:45  Jolene_Wu  阅读(255)  评论(0)    收藏  举报

11.6  对象的复制

一、"=" 赋值,将指向对象的地址复制

同个类的不同 对象引用 之间可以任意相互赋值。

SonClass s1,s2;        //定义两个相同类型的变量
s1=new SonClass();
s2=s1;                        //通过s2=s1,按照s1的空间给s2开辟相同的空间,并赋以相同的值

s1,s2中的值是指向对象的地址,也就是说s1,s2指向相同的对象。

实验结果表明sc1,sc2指向同一个对象,用 sc2.i 改变 i 的值,sc1.i 的值跟着变。

二、采取继承接口Cloneable,并覆盖clone()方法,完成对象的复制

不同于“=”,接口Cloneable的clone()方法是将整个对象复制