Урок Java 372: Best practice 8: Переопределение clone
Java 1244. В чем отличие между поверхностным и глубоким клонированием?
1244. В чем отличие между поверхностным и глубоким клонированием? В Java есть два способа клонирования объектов - поверхностное клонирование (shallow cloning) и глубокое клонирование (deep cloning). При поверхностном клонировании новый объект создается, и его поля заполняются ссылками на те же самые объекты, на которые ссылается клонируемый объект. В результате изменение этих объектов может отразиться как на клонированном объекте, так и на исходном объекте. При глубоком клонировании создается новый объект, и его поля заполняются копиями объектов, на которые ссылается клонируемый объект...
Java 1243. Расскажите про клонирование объектов.
1243. Расскажите про клонирование объектов. Клонирование объектов в Java происходит с помощью метода Object.clone(). Этот метод создаёт и возвращает копию объекта. Класс объекта, который мы хотим клонировать, должен реализовать интерфейс Cloneable и переопределить метод clone(). Но есть некоторые особенности процесса клонирования в Java: Например, если у нас есть класс Person, то мы можем клонировать его так: public class Person implements Cloneable {
private String name;
private int age;
...