@FunctionalInterface

Conceptually, a functional interface has exactly one abstract method. As such, it may be implicitly converted to a lambda expression.

Note that instances of functional interfaces can be created with lambda expressions or method/constructor references.