Функциональный интерфейс существует для конкретной цели -
Он используется только с интерфейсами, которые имеют строго один и только один абстрактный метод.
если нет, то компилятор жалуется -
Invalid '@FunctionalInterface' annotation; TestInterface is not a functional interface
И нет смысла использовать это с любым другим классом, enum stuffs