Java Core junior
Что такое абстрактный класс? Чем отличается от интерфейса?
Ответ
Абстрактный класс может содержать состояние и реализованные методы, наследуется только один. Интерфейс — контракт, можно реализовать несколько. С Java 8 в интерфейсах появились default-методы.
Разбор: Главные отличия: абстрактный класс может иметь состояние (поля экземпляра) и обычные реализованные методы, но наследуется только один; интерфейс задаёт контракт, реализовать можно несколько, а с Java 8 он получил default-методы. Ловушки: множественное наследование допускают именно интерфейсы (не классы), у интерфейса нет полей-состояния экземпляра (только константы), и default-методы не стёрли разницу — состояние и одиночное наследование остаются.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.