Tag: copy constructor

复制构造函数创建依赖副本

我实现了这里描述的复制构造函数。 但问题仍然是当我更新route_copy ,相同的更新将应用于route 。 所以,我不明白我的代码有什么问题? public class Route implements Comparable { private List sites; public Route() { sites = new ArrayList(); } public Route(List sites) { this.sites = sites; } /** * Copy constructor */ public Route(Route r) { this(r.sites); } public void deleteSite(Site s) { this.sites.remove(s); } } public processData(Route route) { Route route_copy […]

使用复制构造函数而不是Object.clone进行深层复制的正确方法

我有一些代码使用Object.clone执行深层复制,但我正在尝试使用更“可接受”的复制构造函数重写它。 下面是我正在尝试做的两个简单示例,第一个使用克隆,第二个使用复制构造函数。 使用克隆的深层复制 import java.util.*; abstract class Person implements Cloneable { String name; public Object clone() throws CloneNotSupportedException { return super.clone(); } } class Teacher extends Person implements Cloneable { int courses; public String toString() { return name + “: courses=” + courses; } } class Student extends Person implements Cloneable { double gpa; public […]