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

Зачем нужен метод clone() из класса Object

Метод clone() в Java используется для создания копии объекта. По умолчанию он выполняет поверхностное копирование (shallow copy), то есть копирует только примитивные поля и ссылки на объекты, но не сами объекты.

Чтобы объект можно было клонировать, он должен реализовать интерфейс Cloneable, иначе выбросится CloneNotSupportedException.

Пример:

java
class Person implements Cloneable {
    String name;
    int age;

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone(); // поверхностное копирование
    }
}

Person p1 = new Person();
p1.name = "Alice";
Person p2 = (Person) p1.clone(); // копия p1

Важно:

  • Для глубокого копирования (deep copy) нужно переопределять clone() и клонировать вложенные объекты вручную.
  • Альтернативы: конструкторы копирования, фабричные методы или сериализация.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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