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

Middle
313 просмотров
AFK Offer AI

Default методы появились в Java 8 — это методы с реализацией прямо в интерфейсе. Их добавили, чтобы можно было расширять интерфейсы без поломки существующих реализаций (например, forEach в Iterable). Если класс имплементит два интерфейса с одинаковым default методом — будет ошибка компиляции, надо явно переопределить. Это не множественное наследование в полном смысле, потому что интерфейсы не имеют состояния.

Следующий вопрос

Что такое Lock и чем он лучше synchronized?