13. Почему метод clone() объявлен в классе Object, а не в интерфейсе Cloneable?
UNKNOWNчтобы создать через клон новый объект – через интерфейс.
Метод clone() объявлен в классе Object с указанием модификатора native, чтобы обеспечить доступ к стандартному механизму поверхностного копирования объектов.
Одновременно он объявлен и как protected, чтобы нельзя было вызвать этот метод у не переопределивших его объектов. Непосредственно интерфейс Cloneable является маркерным (не содержит объявлений методов) и нужен только для обозначения самого факта, что данный объект готов к тому, чтобы быть клонированным. Вызов переопределённого метода clone() у не Cloneable объекта вызовет выбрасывание CloneNotSupportedException.
Предыдущий вопрос: 12. Какой способ клонирования предпочтительней?
Следующий вопрос: 14. Как создать глубокую копию объекта? (2 способа)
Все вопросы по теме: список
Все темы: список
Вопросы/замечания/предложения/нашли ошибку: напишите мне