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

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

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

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


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

📱 Java Developer | 📲 MAX
  • 👍 11
  • 🔥 3
More from @java_tg
  1. Sep 26, 2026Post #4372
  2. Sep 26, 2026Бесплатный ChatGPT для работы прямо в Telegram Личный ассистент для рабочих задач. Без зар…
  3. Sep 26, 2026👩‍💻 Как сделать Java-сервис устойчивее к сбоям Resilience4j добавляет готовые паттерны C…
  4. Sep 25, 2026Post #4369
  5. Sep 25, 2026Если ты ждёшь знака, что пора валить в IT за границу, то вот он. IT — одна из немногих сфе…
  6. Sep 25, 2026👩‍💻 Миграция на Spring Boot 4, Spring 7 и JDK 25 В статье автор на примере демо-проекта…
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 →