Interface Funcional em Java
- #Java
Interface Funcional em Java
Antes de tudo vamos deixar claro o que é uma Interface em Java.
Basicamente, a Interface é uma especificação de um conjunto de métodos que uma classe deve implementar.
Lembrando que a Interface em Java pode ter três tipos de métodos:
** Métodos Abstratos
** Métodos Padrão
** Métodos Estáticos
Já a Interface Funcional, é uma interface que contém exatamente 01 método abstrato.
Mas pode ter quantos métodos padrão e estático forem necessários.
Mas o que é um método abstrato em Java ?
Um método abstrato em Java é um método que não possui uma implementação definida.
Ou seja, ele possui apenas uma assinatura, que pode ser composta de:
** Nome do método
** Parâmetros do método
** Tipo de retorno do método
Exemplo
No exemplo acima, a assinatura do método é composta apenas pelo nome (emitirSom) e pelo tipo de retorno (void).
Vamos criar outro exemplo com uma Interface Funcional chamada de Calculadora, onde temos apenas um método abstrato chamado calcular.
Observação: Não precisamos colocar a palavra abstract antes do método, porque ele fica implícito.
Exemplo
Exemplo de utilização de uma Interface Funcional
No pacote ‘java.util.function’ podemos encontrar algumas das interfaces mais comuns, para este exemplo iremos utilizar a Function.
Function
A assinatura dela tem um tipo genérico com dois parâmetros, onde o primeiro é o tipo de entrada e o segundo é o tipo de saída da função.
Exemplo
Criamos uma classe chamada ExemploInterface e implementamos a interface Function
Na linha 5 percebemos que neste caso ela irá receber um Integer e devolver uma String.
Agora vamos criar um objeto ou uma instância para testarmos.
A saída será uma String com valor 5.