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

Как определить единственный абстрактный метод в интерфейсе, соответствующем функциональному интерфейсу в Java?

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

sobes.tech AI

В Java функциональный интерфейс — это интерфейс, который содержит ровно один абстрактный метод (SAM — Single Abstract Method). Чтобы определить такой метод, нужно убедиться, что в интерфейсе только один метод без реализации.

Пример:

@FunctionalInterface
public interface MyFunctionalInterface {
    void execute(); // единственный абстрактный метод

    // Можно добавить методы с реализацией по умолчанию
    default void log() {
        System.out.println("Logging...");
    }
}

Аннотация @FunctionalInterface не обязательна, но рекомендуется, так как компилятор проверит, что интерфейс действительно функциональный.

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