Абстрактные методы и методы по умолчанию в интерфейсах отличаются наличием реализации. 5
Абстрактные методы в интерфейсе не имеют реализации. 24 Они являются стандартным механизмом объявления функционала и имеют модификатор доступа public. 2
Методы по умолчанию позволяют добавлять новые методы в интерфейсы с реализацией по умолчанию, которая используется, если класс, реализующий данный интерфейс, не реализует метод. 36 Метод по умолчанию — это обычный метод без модификаторов, который помечается ключевым словом default. 3
Таким образом, интерфейсы с методами по умолчанию подходят в тех случаях, когда требуется определить общее поведение для всех реализующих классов, не нарушая при этом существующих контрактов. 1 Абстрактные методы, в свою очередь, лучше подходят для определения скелета (шаблона) будущих классов, когда требуется наличие общих полей и методов, доступных только внутри иерархии наследования. 1