До Java 8 интерфейсы могли содержать только объявления методов без реализации. Java 8 внесла значительное изменение, которое теперь позволяет интерфейсам включать реализацию методов через два механизма.
Метод по умолчанию предоставляет стандартную реализацию, которую все реализующие классы наследуют автоматически. Эта возможность позволяет тебе:
default в сигнатуре методаПример структуры:
default ReturnType methodName() {
// реализация
}
Статический метод в интерфейсе — это вспомогательный метод, который принадлежит самому интерфейсу, а не реализующим классам. Ключевые характеристики:
static в сигнатуре методаПример структуры:
static ReturnType methodName() {
// реализация
}
Эти дополнения обеспечивают значительную гибкость при проектировании интерфейсов:
Методы по умолчанию создают форму множественного наследования типов, что может порождать сложности. Когда класс реализует несколько интерфейсов с конфликтующими методами по умолчанию, он должен явно переопределить метод, чтобы разрешить конфликт.
До Java 8 интерфейсы могли содержать как объявления методов, так и конкретные реализации без каких-либо ограничений.
Новый — ещё не проверен сообществом
Вы