Встречается на собеседованиях • сегодня

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

Default методы в интерфейсах позволяют добавлять реализацию без нарушения обратной совместимости. Классы, реализующие интерфейс, могут использовать дефолтную реализацию или переопределить её.

Static методы в интерфейсах - это просто вспомогательные методы, принадлежащие самому интерфейсу. Они не наследуются и вызываются через имя интерфейса.

Пример:

java
interface MyInterface {
    default void defaultMethod() {
        System.out.println("Default implementation");
    }
    
    static void staticMethod() {
        System.out.println("Static method");
    }
}

class MyClass implements MyInterface {
    // Можно использовать дефолтный метод как есть
    // или переопределить его
}

// Использование:
MyClass obj = new MyClass();
obj.defaultMethod();  // Вызов default метода
MyInterface.staticMethod();  // Вызов static метода
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы