As interfaces funcionais são interfaces que possuem um único método abstrato. As interfaces funcionais foram a forma que o Java encontrou para permitir o uso de expressões lambdas para um estilo de programação funcional (veremos adiante no curso).
Para criar uma interface funcional, você deve anotar com a anotação @FuncionalInterface
@FunctionalInterface
public interface Cantor {
String cantar();
}
→ As interfaces funcionais só devem ter um único método abstrato
→ As interfaces funcionais pode ter métodos default
ou static
As expressões lambdas em Java é uma forma de criar uma implementação para uma interface funcional sem a necessidade de criar uma classe de fato.
Com isso, torna-se muito mais leve, principalmente se a implementação for simples.
A sintaxe mais simples de uma expressão lambda é:
paramter -> expression
Se tiver mais de um parâmetro, os parênteses devem ser utilizados: