在哪些情況下我應該用這樣的方式:實現可克隆在Java中
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
是最終的,應該怎麼辦,我想用第一種方式?
關於第一種方式,我理解如下:我們克隆超類並向上推它,導致一些成員未初始化。在這之後初始化這些成員。我的理解是否正確?
謝謝。
'cloneable()'被認爲是有害的。可能會對肝臟和幼兒造成傷害。避免。 – skaffman 2010-04-25 22:55:12