Что такое функциональный интерфейс?
Функциональный интерфейс – это разновидность интерфейса, в котором определена функция обратного вызова (callback). В функциональном интерфейсе может быть всего один абстрактный метод, в нём может находиться неограниченное число методов default, а также переобъявленные методы, наследуемые от Object.
Функциональный метод может иметь неограниченное количество аргументов. На тип возвращаемого значения также и список возможных исключений (как проверяемых, checked, так и непроверяемых, unchecked) не накладывается никаких ограничений.
Функциональный интерфейс рекомендуется помечать с помощью аннотации @FunctionalInterface. Это говорит компиляторы о необходимости выполнить дополнительную проверку. Если поставить данную аннотацию на нефункциональном типе во время компиляции появиться сообщение об ошибке.
Примеры FunctionalInterface: Callable, Supplier, Comparable:
@FunctionalInterface
interface IAmFunctional {
String toString();
void callback();
default void extraAction() {};
}
@Functionallnterface
abstract class NonFunctional {
abstract void callback();
}
Готовьтесь к работе в команде
Обучающая платформа AndroidSprint
Освойте Agile, Scrum и Kanban. Поймёте, как устроены процессы в IT-командах — придёте на работу подготовленным
- Методологии: Agile и Scrum — как организованы спринты и роли в команде
- Инструменты: Jira, Git Flow, код-ревью — что используют в продакшене
- Результат: понимаете процессы и готовы к работе в IT-команде