l 定义一个对象时,以本类另一个对象作为初始值,发生复制构造;
l 如果函数的形参是类的对象,调用函数时,将使用实参对象初始化形参对象,发生复制构造;
l 如果函数的返回值是类的对象,函数执行完成返回主调函数时,将使用return语句中的对象初始化一个临时无名对象,传递给主调函数,此时发生复制构造。
ByteArrayOutputStream out = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(out); oos.writeObject(this); ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); ObjectInputStream ois = new ObjectInputStream(in); return (myClone)ois.readObject();3、创建复制构造方法,在创建对象的时候实现深度复制。