В интерфейсах могут быть методы с реализацией или нет?

В классических интерфейсах, например в Java до версии 8, методы не могут иметь реализацию — они только объявляются, а реализация предоставляется в классах, которые этот интерфейс реализуют.

Короткий ответ

Что ответить на собеседовании

В классических интерфейсах, например в Java до версии 8, методы не могут иметь реализацию — они только объявляются, а реализация предоставляется в классах, которые этот интерфейс реализуют.

Подробный разбор

Ответ с пояснениями

В классических интерфейсах, например в Java до версии 8, методы не могут иметь реализацию — они только объявляются, а реализация предоставляется в классах, которые этот интерфейс реализуют.

Начиная с Java 8, в интерфейсах появились методы с реализацией — default методы. Они позволяют задать стандартную реализацию, которую можно переопределить в классах.

Пример:

public interface MyInterface {
    void abstractMethod(); // без реализации

    default void defaultMethod() {
        System.out.println("Default implementation");
    }
}

Таким образом, интерфейсы могут содержать как абстрактные методы без реализации, так и методы с реализацией (default, static). Это расширяет возможности интерфейсов и упрощает эволюцию API.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее