Как в Java 8 определяется функциональный интерфейс, и какие правила нужно соблюдать при его создании? — ДейлиПреп