Реализация выполняется уже известными способами, действующими для всех интерфейсов: через простой класс и создание его экземпляра, с помощью метода new, можно также объявить экземпляр, принадлежащий анонимному Java-классу.
Для ФИ также доступны нестандартные варианты инициализации:
- Используя лямбда, например, так: (x, y) -> x * y;
- С помощью ссылки на существующий метод, например: Math::sin.
Но при этом тип параметра или переменной нужно указывать явно. Поэтому, с помощью лямбда выражения или ссылки на функцию невозможно использовать переменную var.