functional interface
An interface with exactly one abstract method, which a lambda can implement.
An interface with one abstract method, not counting defaults, statics or redeclared public Object methods; @FunctionalInterface makes javac check it.
Examples
Comparator<String> byLength = (a, b) -> a.length() - b.length();
See also