Sobes.tech
Back to questions
Junior — Middle
59

Какова причина наличия только одного абстрактного метода в функциональном интерфейсе?

Answer from AI

sobes.tech AI

Функциональный интерфейс в Java содержит ровно один абстрактный метод, чтобы обеспечить однозначное представление функционального типа. Это позволяет использовать лямбда-выражения и ссылки на методы, которые могут быть автоматически преобразованы в экземпляры таких интерфейсов. Наличие единственного абстрактного метода гарантирует, что компилятор и рантайм смогут корректно сопоставить лямбда-выражение с интерфейсом без неоднозначностей.

Пример функционального интерфейса:

@FunctionalInterface
public interface Converter<F, T> {
    T convert(F from);
}

Здесь метод convert — единственный абстрактный метод, что позволяет использовать лямбда-выражения для его реализации.