Встречается на собеседованиях • сегодня

Что такое клонирование объектов

В Java клонирование объектов позволяет создать точную копию существующего объекта. Для этого используется метод clone(), объявленный в классе Object.

Поверхностное клонирование (по умолчанию) копирует примитивные поля и ссылки на объекты, но не сами объекты. Для глубокого клонирования нужно переопределить clone() и явно клонировать вложенные объекты.

Пример:

java
class Person implements Cloneable {
    String name;
    Address address;

    @Override
    protected Object clone() throws CloneNotSupportedException {
        Person cloned = (Person) super.clone();
        cloned.address = (Address) address.clone(); // глубокое клонирование
        return cloned;
    }
}

Важно:

  • Класс должен реализовать Cloneable
  • Метод clone() объявлен как protected в Object
  • При переопределении можно сделать его public
  • Для сложных объектов лучше использовать другие способы копирования (сериализация, конструкторы копирования)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы