Java Core trainee

Что такое default-методы в интерфейсах?

Ответ

С Java 8 в интерфейсе можно объявить метод с готовой реализацией через ключевое слово default. Это решает проблему расширения интерфейсов без поломки совместимости: добавляешь новый метод с default-реализацией, и старые классы-наследники его наследуют, не переопределяя.

Разбор: default-методы (с Java 8) имеют готовую реализацию прямо в интерфейсе и наследуются реализующими классами, которые могут их не переопределять — это и позволяет расширять интерфейсы без поломки существующего кода. Первый дистрактор путает их с обычными abstract-методами, второй — со static-методами интерфейса (те действительно не наследуются), третий — с private-методами интерфейса, которые появились только в Java 9 и наружу не видны.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться