Middle
39
questionbank

В чем разница между default-методами и static-методами?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Default-методы и static-методы были добавлены в интерфейсы в Java 8. Основные отличия:

  • Доступ к состоянию объекта: Default-методы имеют доступ к полям экземпляра класса, реализующего интерфейс. Static-методы такого доступа не имеют и оперируют только со статическим состоянием интерфейса или параметрами вызова.
  • Переопределение: Default-методы могут быть переопределены в классах-реализациях. Static-методы интерфейса не могут быть переопределены в классах-реализациях.
  • Вызов: Default-методы вызываются на экземпляре класса, реализующего интерфейс. Static-методы вызываются напрямую на имени интерфейса.

Пример:

java