Встречается на собеседованиях • сегодня
Что дает @FunctionalInterface
@FunctionalInterface — это аннотация, которая указывает, что интерфейс предназначен для использования в лямбда-выражениях и ссылках на методы. Такой интерфейс должен содержать ровно один абстрактный метод (SAM — Single Abstract Method).
Пример:
java
@FunctionalInterface
interface Greeting {
void sayHello(String name);
}
public class Main {
public static void main(String[] args) {
Greeting greet = name -> System.out.println("Hello, " + name);
greet.sayHello("Alice"); // Выведет: Hello, Alice
}
}
text
**Что дает аннотация:**
1. **Проверка компилятором**: если в интерфейсе больше или меньше одного абстрактного метода — будет ошибка компиляции.
2. **Явное указание на назначение**: делает код понятнее, показывая, что интерфейс предназначен для лямбд.
**Примечание**: аннотация не обязательна, но рекомендуется для ясности. Даже без нее интерфейс с одним методом считается функциональным.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы