Встречается на собеседованиях • сегодня
Как работает метод clone
Метод clone() создает и возвращает копию объекта. Для корректной работы класс должен реализовывать интерфейс Cloneable, иначе выбросится CloneNotSupportedException.
По умолчанию clone() выполняет поверхностное копирование (shallow copy) — копируются примитивы и ссылки на объекты, но не сами объекты. Для глубокого копирования (deep copy) метод нужно переопределять.
Пример:
java
class Person implements Cloneable {
String name;
int age;
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone(); // поверхностное копирование
}
}Важно:
clone()объявленprotectedвObject, поэтому для вызова вне класса нужно переопределить его какpublic.- Для сложных объектов с вложенными структурами (например, списками) нужно реализовывать deep copy вручную.
- Альтернативы — конструкторы копирования или фабричные методы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы