TGViewer
Java Developer Java Developer @java_tg · 14.8K subscribers
Post #3126 3.26K
❔ Вопрос с собеседования

Почему метод clone() объявлен в классе Object, а не в интерфейсе Cloneable?

Ответ: Метод clone() определён в классе Object, потому что он реализует базовый механизм побитового копирования объекта средствами JVM (через native-реализацию). Он объявлен как protected, чтобы не допустить прямого вызова вне класса, если метод не переопределён.

Интерфейс Cloneable при этом — маркерный, без методов. Он служит лишь индикатором того, что объект допускает клонирование. Если объект не реализует Cloneable, а метод clone() всё же вызывается, будет выброшено исключение CloneNotSupportedException. Это позволяет обеспечить контроль над тем, какие классы разрешают копирование, и избежать некорректного поведения при клонировании по умолчанию.


tags: #собеседование

📱 Java Developer | Чат
  • ❤ 15
  • 👍 5
  • 🔥 3
  • 👨‍💻 2
More from @java_tg
  1. Oct 2, 2026Post #4382
  2. Oct 2, 2026🔥3 млн ₽ за решение ИТ-задач Альфа-Банка Альфа-Банк запускает Альфа-Будущее Хакатон — для…
  3. Oct 2, 2026👩‍💻 Spring Boot + PostgreSQL с динамической схемой Практический кейс Pivot/EAV-архитекту…
  4. Oct 1, 2026👩‍💻 Что находится внутри OpenJDK Официальный репозиторий JDK — хорошее место, если хочет…
  5. Sep 30, 2026👩‍💻 Гексагональная архитектура в Spring Boot Автор статьи показывает альтернативу: вынес…
  6. Sep 29, 2026👩‍💻 Ищем баги в Java-коде до запуска приложения Нашли open-source инструмент для статиче…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →