Sobes.tech
Back to questions
Junior — Middle
59

Какие шаги необходимо предпринять для реализации поверхностного копирования объекта?

Companies where asked
Prime

Answer from AI

sobes.tech AI

Поверхностное копирование объекта в Java означает создание нового объекта, у которого копируются значения полей исходного объекта, но если поля — это ссылки на другие объекты, копируются только ссылки, а не сами объекты.

Шаги для реализации поверхностного копирования:

  1. Реализовать интерфейс Cloneable в классе.
  2. Переопределить метод clone(), вызвав super.clone().
  3. Обработать исключение CloneNotSupportedException.

Пример:

public class Person implements Cloneable {
    private String name;
    private int age;

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

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

Важно помнить, что если в классе есть поля-ссылки на изменяемые объекты, поверхностное копирование не создаст их копии, а скопирует только ссылки, что может привести к нежелательным побочным эффектам.