2016-03-22 9 views
0

Я клонирую объекты определенного класса в Java, а два объекта определенного класса должны иметь свою собственную копию, когда клонируются объекты этого класса.Как убедиться, что объект класса имеет свою собственную копию при клонировании

В этом классе есть несколько методов, и оба этих объекта находятся в разных методах, и мне было интересно, как бы я это сделал.

До сих пор я просто:

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

Я новичок в Java, так жаль, если это объяснение кажется немного запутанным!

ответ

0

Действительно непонятно, что вы хотите сделать. Это то, что вы хотите, чтобы клонированный объект имел ссылку на все его клонирование? Если да, то это может быть решением:

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

Всех инструкции говорят, «Вы должны убедиться, что ваша клонированная копия объект класса имеет свою собственную копию следующих объектов:» тогда даете мне объекты, которые имеют иметь свою собственную копию –

+0

Хорошо, это имеет смысл, почему существует массив? –

+0

Вы хотите сохранить все клонированные копии? или только один? – adranale