In welchen Fällen sollte ich diesen Weg wählen?
public A clone() throws CloneNotSupportedException {
A clone = (A)super.clone();
clone.x= this.x;
return clone;
}
Und in welchen Fällen sollte ich diesen Weg wählen:
public ShiftedStack clone() throws CloneNotSupportedException {
return new A(this.x);
}
Was sollte ich tun, wenn x
endgültig ist und ich die erste Möglichkeit nutzen möchte?
Was die erste Möglichkeit betrifft, so verstehe ich es so: Wir klonen die Superklasse und führen einen Up-Cast durch, was dazu führt, dass einige Mitglieder nicht initialisiert sind. Danach initialisieren wir diese Mitglieder. Ist mein Verständnis richtig?
Ich danke Ihnen.