Встречается на собеседованиях • сегодня

Что такое метод clone()

Метод clone() в Java используется для создания копии объекта. Он объявлен в классе Object и имеет модификатор protected, поэтому для его использования нужно переопределить его с модификатором public.

Объект должен реализовывать интерфейс Cloneable, иначе вызов clone() выбросит CloneNotSupportedException.

Пример:

java
class Person implements Cloneable {  
    private String name;  

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

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

Важно:

  • По умолчанию clone() выполняет поверхностное копирование (поля-ссылки копируются, но объекты, на которые они указывают, — нет).
  • Для глубокого копирования нужно вручную клонировать вложенные объекты.
  • Лучше использовать альтернативы, например, конструкторы копирования или фабричные методы.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы