Урок по Java 59: Клонирование объектов
Java 1244. В чем отличие между поверхностным и глубоким клонированием?
1244. В чем отличие между поверхностным и глубоким клонированием? В Java есть два способа клонирования объектов - поверхностное клонирование (shallow cloning) и глубокое клонирование (deep cloning). При поверхностном клонировании новый объект создается, и его поля заполняются ссылками на те же самые объекты, на которые ссылается клонируемый объект. В результате изменение этих объектов может отразиться как на клонированном объекте, так и на исходном объекте. При глубоком клонировании создается новый объект, и его поля заполняются копиями объектов, на которые ссылается клонируемый объект...
Java 1723. Как реализовано глубокое клонирование в java
В Java глубокое клонирование реализуется путем переопределения метода clone() и использования интерфейса Cloneable. Для глубокого клонирования объекта в Java, необходимо выполнить следующие шаги: Переопределите метод clone() в классе, который вы хотите склонировать. Убедитесь, что класс реализует интерфейс Cloneable. public class MyClass implements Cloneable {
private int x;
private String str;
private MyOtherClass obj;
// constructors, getters, and setters
@Override public Object clone() throws CloneNotSupportedException {
MyClass cloned = (MyClass) super...