Выбор ответа Middle ООП и класс Object спрашивают часто обновлено

Интерфейс или абстрактный класс

Вопрос

Что может абстрактный класс, но не может интерфейс в Java 21?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Хранить состояние экземпляра в полях и иметь конструктор. С Java 8 интерфейсы имеют default и static методы с телом, с Java 9 и private методы.

Варианты ответа

  1. Хранить состояние экземпляра в полях и иметь конструкторправильный ответ
  2. Иметь методы с реализацией, которые наследники не обязаны переписывать
  3. Иметь private-методы для общей логики внутри типа
  4. Иметь static-методы, вызываемые через имя типа

Разбор

С Java 8 интерфейсы имеют default и static методы с телом, с Java 9 и private методы. Но полей экземпляра (только public static final константы) и конструкторов у интерфейса нет. Это и остаётся ключевым отличием, плюс одиночное наследование классов против множественной реализации интерфейсов.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.