Интерфейсы в Java: Особенности ООП именно в Java

Обратите внимание, что начиная с Java8 (JDK8) в интерфейсах могут быть методы с телом, в этом случае перед методом ставится модификатор default.

Так сделано, чтобы постепенно уйти от классов-компаньонов. В JDK до 8-й Java часто встречается интерфейс и отдельный класс, который реализует какие-то библиотечные методы для этого интерфейса.
Теперь все библиотечные методы можно просто переместить в интерфейс.