どのような場合にこの方法を使用する必要がありますか:
public A clone() throws CloneNotSupportedException {
A clone = (A)super.clone();
clone.x= this.x;
return clone;
}
そして、どの場合にそのように使用する必要がありますか:
public ShiftedStack clone() throws CloneNotSupportedException {
return new A(this.x);
}
x
が final で、最初の方法を使用したい場合はどうすればよいですか?
最初の方法については、次のように理解しています。スーパークラスを複製してアップキャストしたため、一部のメンバーが初期化されていません。この後、これらのメンバーを初期化します。私の理解は正しいですか?
ありがとうございました。