Sobes.tech
Назад к вопросам
Junior — Middle
54

Объясните механизм работы метода clone в языке программирования Java.

Компании, где спрашивали
Prime

Ответ от нейросети

sobes.tech AI

Метод clone() в Java используется для создания копии объекта. Он определён в классе Object и возвращает поверхностную копию (shallow copy) текущего объекта.

Чтобы использовать clone(), класс должен:

  • реализовать интерфейс Cloneable, иначе при вызове clone() будет выброшено исключение CloneNotSupportedException.
  • переопределить метод clone(), обычно вызывая super.clone().

Пример:

public class Person implements Cloneable {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

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