-1

我有一些 Java 克隆的替代方法。我能否请一些帮助来描述这些替代方案的工作原理:

替代方案是:

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

•   Creating your own interface with copy methods
4

2 回答 2

2

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

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); }
}
于 2013-04-24T03:30:16.570 回答
0

“使用复制构造函数创建新对象作为现有对象的副本”

public class SampleClass
{
    int x;
    int y;
    public SampleClass(SampleClass old)     // Copy Constructor
    {
        this.x = old.x;
        this.y = old.y;
    }

    public SampleClass(int x, int y)        // Regular constructor
    {
        this.x = x;
        this.y = y;
    }
}

复制构造函数创建传递给构造函数的对象的副本。

“使用复制方法创建自己的界面”

老实说,不确定他们在这里指的是什么。也许他们的意思是创建一个带有 copy() 方法的接口,然后您可以实现该接口,但我不确定您为什么不只使用 Cloneable 接口。

于 2013-04-24T03:14:40.317 回答