Java не поддерживает множественное наследование классов, и стандартные методы не обходят это ограничение, поскольку классы могут сохранять состояние (с переменными экземпляра), а интерфейсы — нет.
Методы по умолчанию предоставляют ограниченную форму множественного наследования поведения, позволяя классу наследовать поведение от нескольких интерфейсов с помощью методов по умолчанию.
Конфликты могут возникнуть, когда два интерфейса, реализованные классом, имеют один и тот же метод по умолчанию, как в случае двух интерфейсов, Alpha и Beta, с методом reset().
Правила разрешения конфликтов:
1 Реализация класса имеет приоритет над реализацией интерфейса по умолчанию.
2 Если два интерфейса имеют один и тот же метод по умолчанию и класс не переопределяет этот метод, произойдет ошибка.
3 Если один интерфейс наследует другой и оба определяют один и тот же метод по умолчанию, версия унаследованного интерфейса имеет приоритет.
Чтобы явно ссылаться на стандартную реализацию интерфейса, вы можете использовать синтаксис: NameInterface.super.NameMethod().
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3