Используем абстрактный класс для создания базовой функциональности и общего состояния, которое могут унаследовать подклассы. Он подходит, когда есть общие методы с реализацией и методы, которые должны быть переопределены. Абстрактный класс может иметь поля и конструкторы.
java
Используем интерфейс для определения контракта, описывающего набор методов, которые должны быть реализованы классами. Он подходит для достижения множественного поведения (множественного наследования функциональности). Интерфейс не может иметь состояние (поля экземпляра, кроме констант) и конструкторы (до Java 8)
Используем абстрактный класс для создания базовой функциональности и общего состояния, которое могут унаследовать подклассы. Он подходит, когда есть общие методы с реализацией и методы, которые должны быть переопределены. Абстрактный класс может иметь поля и конструкторы.
java
Используем интерфейс для определения контракта, описывающего набор методов, которые должны быть реализованы классами. Он подходит для достижения множественного поведения (множественного наследования функциональности). Интерфейс не может иметь состояние (поля экземпляра, кроме констант) и конструкторы (до Java 8)
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.