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

Какие знаешь особенности функциональных интерфейсов

Функциональные интерфейсы (FI) в Java — интерфейсы с одним абстрактным методом (SAM). Они используются для лямбда-выражений и method references.

Особенности:

  1. Аннотация @FunctionalInterface не обязательна, но помогает компилятору проверить, что интерфейс действительно функциональный.
  2. Могут содержать default и static методы без нарушения условия SAM.
  3. Наследование: если интерфейс расширяет FI и добавляет новый абстрактный метод, он перестает быть функциональным.

Пример:

java
@FunctionalInterface
interface Greeter {
    void greet(String name); // SAM
    
    default void defaultGreet() {
        System.out.println("Hello, default!");
    }
}

// Использование
Greeter greeter = name -> System.out.println("Hello, " + name);
greeter.greet("Alice");

Важные FI из java.util.function: Predicate, Function, Consumer, Supplier.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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