Deep cloning. Как правильно создать глубокую копию используя интерфейс clonable?
Вот участок кода(домашнее задание) в котором нужно скопировать лаптоп вместе с его компонентами(их тоже скопировать и вставить в новую копию лаптопа), решил это таким образом, но получаю ClassCastException в рантайме. Нужен способ сделать это без try{} и catch{} т.к. этого еще не учили. Каждый класс, соответственно implements Clonable
Ну и мой способ который не работает:
@Override
public Laptop clone() throws CloneNotSupportedException {
Laptop cloned = (Laptop) super.clone();
Processor clonedProc = (Processor) super.clone();
HardDrive clonedHardDrive = (HardDrive) super.clone();
cloned.setHardDrive(clonedHardDrive);
cloned.setProcessor(clonedProc);
return cloned;
}