Junior — Middle
Obyektin səthi nüsxəsinin anlayışını və onun xüsusiyyətlərini izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Поверхностное копирование (shallow copy) объекта в Java создаёт новый объект, но при этом поля-объекты внутри копируются не полностью, а лишь копируются ссылки на них. То есть, вложенные объекты не дублируются, а остаются общими между оригиналом и копией.
Особенности поверхностного копирования:
- Быстрое создание копии объекта.
- Изменения в вложенных объектах будут видны и в оригинале, и в копии, так как они ссылаются на одни и те же объекты.
- Подходит, если объект содержит только примитивные типы или если вложенные объекты не изменяются.
Пример поверхностного копирования с помощью метода clone():
class Person implements Cloneable {
String name;
Address address; // вложенный объект
public Person clone() throws CloneNotSupportedException {
return (Person) super.clone(); // поверхностное копирование
}
}
class Address {
String city;
}
// При клонировании Person создаётся новый объект Person, но поле address будет ссылаться на тот же объект Address.
Если нужно полностью независимое копирование, используют глубокое копирование (deep copy).