2016-03-22 11 views
0

Ich klonen Objekte einer bestimmten Klasse in Java und zwei Objekte einer bestimmten Klasse müssen eine eigene Kopie haben, wenn Objekte dieser Klasse geklont werden.So stellen Sie sicher, dass ein Klassenobjekt eine eigene Kopie hat, wenn geklont

Es gibt mehrere Methoden in dieser Klasse und beide dieser Objekte sind in verschiedenen Methoden und ich fragte mich, wie ich das machen würde.

Bisher habe ich nur:

@Override 
protected Object clone() { 
    try { 
     return super.clone(); 
    } 
    catch (CloneNotSupportedException e) { 
     throw new InternalError(e.toString()); 
    } 
} 

Ich bin neu in Java so leid, wenn diese Erklärung etwas verwirrend scheint!

Antwort

0

Es ist wirklich nicht klar, was Sie tun möchten. Soll das geklonte Objekt einen Verweis auf alle geklonten Objekte enthalten? Wenn ja, ist dies eine Lösung sein könnte:

private Array<Object> clones = new ArrayList<Object>(); 
    @Override 
    protected Object clone() { 
    try { 
    Object clone = super.clone(); 
    clones.add(clone); 
    return clone; 
    } 
    catch (CloneNotSupportedException e) { 
    throw new InternalError(e.toString()); 
    } 
    } 
+0

sagen alle Anweisungen ist „Sie müssen Ihre geklonten Kopie der Klasse Objekt seine eigene Kopie der folgenden Objekte hat sicherzustellen, dass:“ gibt mir dann Objekte, die haben eine eigene Kopie zu haben –

+0

Okay, das macht Sinn, warum gibt es ein Array? –

+0

Sie möchten alle kopierten Kopien speichern? oder nur einer? – adranale

Verwandte Themen