Back to questions
Junior — Middle
59
Какие шаги необходимо предпринять для реализации поверхностного копирования объекта?
Companies where asked
Prime
Answer from AI
sobes.tech AI
Поверхностное копирование объекта в Java означает создание нового объекта, у которого копируются значения полей исходного объекта, но если поля — это ссылки на другие объекты, копируются только ссылки, а не сами объекты.
Шаги для реализации поверхностного копирования:
- Реализовать интерфейс
Cloneableв классе. - Переопределить метод
clone(), вызвавsuper.clone(). - Обработать исключение
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(); // поверхностное копирование
}
}
Важно помнить, что если в классе есть поля-ссылки на изменяемые объекты, поверхностное копирование не создаст их копии, а скопирует только ссылки, что может привести к нежелательным побочным эффектам.