Преимущества методов по умолчанию (default) в Java:
- Возможность добавлять новые методы в интерфейсы без нарушения существующих контрактов. 1 Класс наследует реализацию по умолчанию, поэтому не обязательно модифицировать классы при изменении интерфейса, который они реализуют. 4
- Определение общего поведения для всех реализующих классов. 1 Такие методы не требуют переопределения в классах и доступны всем объектам, реализующим данный интерфейс. 2
- Обеспечение бинарной совместимости с кодом, написанным для старых версий интерфейсов. 3 В частности, методы по умолчанию позволяют добавлять в существующие интерфейсы методы, которые принимают лямбда-выражения в качестве параметров. 3
Таким образом, интерфейсы с методами по умолчанию подходят в тех случаях, когда требуется определить общее поведение для всех реализующих классов, не нарушая при этом существующих контрактов. 1