Java克隆的替代方案

Java克隆的替代方案,java,clone,Java,Clone,我有一些替代Java克隆的方法。能否请您帮我描述一下这些替代方案是如何工作的: 备选方案是: • Using a copy constructor for creating a new object as a copy of an existing object • Creating your own interface with copy methods “使用复制构造函数创建新对象作为现有对象的副本” 复制构造函数创建传递到构造函数中的对象的副本 “使用复制方法创建自己的接口”

我有一些替代Java克隆的方法。能否请您帮我描述一下这些替代方案是如何工作的:

备选方案是:

•   Using a copy constructor for creating a new object as a copy of an existing object

•   Creating your own interface with copy methods
“使用复制构造函数创建新对象作为现有对象的副本”

复制构造函数创建传递到构造函数中的对象的副本

“使用复制方法创建自己的接口”


老实说,我不确定他们在这里指的是什么。也许这意味着创建一个接口,其中包含一个copy()方法,您可以实现它,但我不确定您为什么不使用可克隆接口。

这是使用复制构造函数创建新对象作为现有对象副本的示例:

public class MyClass {
  private int myVar;
  public MyClass() { this.myVar = 0; }
  public MyClass(MyClass other) { this.myVar = other.myVar; }
}
这是使用复制方法创建自己的接口的示例

public interface MyCopy {
  Object copy();
}

public class MyClass implements MyCopy {
  private int myVar;
  public MyClass() { this.myVar = 0; }
  public MyClass(int myVar) { this.myVar = myVar; }
  public Object copy() { return new MyClass(myVar); }
}

闻起来像是任务。
public interface MyCopy {
  Object copy();
}

public class MyClass implements MyCopy {
  private int myVar;
  public MyClass() { this.myVar = 0; }
  public MyClass(int myVar) { this.myVar = myVar; }
  public Object copy() { return new MyClass(myVar); }
}