Sobes.tech
Junior — Middle
62

Какова цель использования метода clone() в программировании?

Компании, где спрашивали
Передовые Платежные Решения

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

sobes.tech AI

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

Цель использования clone():

  • Быстрое создание копий объектов.
  • Реализация прототипного паттерна.

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

Пример:

class Person implements Cloneable {
    String name;
    int age;

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

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

Person p1 = new Person("Alice", 30);
Person p2 = (Person) p1.clone();