Sobes.tech
Назад к вопросам
Junior — Middle
64

Может ли интерфейс, определяющий функциональность, содержать реализации методов по умолчанию, включая анонимные и именнованные?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

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

Пример default метода в интерфейсе:

public interface MyInterface {
    void existingMethod();

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

Что касается анонимных и именованных методов — в интерфейсе нельзя объявлять анонимные методы, но можно использовать лямбда-выражения и ссылки на методы при реализации интерфейса. Default методы — это именно методы с реализацией внутри интерфейса, а не анонимные функции.

Таким образом, интерфейс может содержать реализации методов по умолчанию, но не анонимные методы как таковые.