Статические методы в интерфейсах java
Вот к примеру, методы default были введены с целью расширения возможностей интерфейса. Так как добавление обычных методов нарушило бы работоспособность всех программ имплементирующих этот интерфейс. Поэтому, default-методы - некий костыль, для решения этой задачи. Но вот смысл внедрения статических методов мне не ясен. Другими словами, какая была необходимость их внедрения в интерфейс java.
Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
Похожий вопрос на основном СО: What is the purpose of a static method in interface from Java 8?
Основные причины добавления статических методов:
- Статические методы являются частью интерфейса и не могут переопределяться в классах-реализациях -- это улучшает безопасность кода
- Статические методы -- удобная замена для утилитных (вспомогательных) методов (например, проверки на
null, сортировки и т.д.) и утилитных классов типаCollections - При помощи статических методов удобно создавать экземпляры соответствующих интерфейсов, например,
Predicate.isEqual,Predicate.not(Java 11),Comparator.comparingи т.д.
Дополнительные ссылки: