Duvida Interface,

Pessoal, boa tarde!
Sou novo na área estou estudando java na caelum porém estou com muita dificuldade para entender o conceito de interface no java, alguem pode me ajudar com alguns exemplos aonde devo aplicar/ como devo aplicar… qualquer ajuda será bem vinda muito obrigado!

Olá @JpJunior seja bem vindo,
Enentendo sobre o que é interface

Segue essa vídeo aula para você entender melhor:

espero ter ajudado.

Uma interface serve para você definir um contrato.

Mas que tipo tipo de contrato é esse?
R: É um contrato que determina quais operações uma classe deve suportar.

Interfaces são ferramentas poderosas para aplicar padrões de projeto e implementar polimorfismo.

Exemplos comuns na API do java:

  • listeners (ou observers) de eventos;
  • models dos componentes Swing;
  • interface Comparable que permite que objetos possam ser ordenados através dos métodos das classes do java collections framework.
1 curtida

Uma interface pode ser criada com o objetivo de compartilhar métodos entre classes quando uma simples herança não atende o caso, por exemplo:

Imagine que você tem três classes: ContaPoupanca, ContaCorrente e ContaInvestimento, e todas as três herdam da classe Conta.
Concluimos que todas as classes que herdam da classe Conta vão ter todos os métodos que ela tem.

Agora imagine que queremos criar um método que calcula os tributos destas contas, porém ContaCorrente não calcula estes tributos, então não podemos simplesmente criar este método na superclasse(classe Conta).

Para isto criamos este método em uma interface chamada Tributavel que será implementada apenas por ContaPoupanca e ContaInvestimento

Usando uma interface desta forma você tambem pode se referir a um objeto de ContaPoupanca ou ContaInvestimento como se fosse um objeto Tributavel, por exemplo:

ContaPupanca cp = new ContaPoupanca();
Tributavel tributavel = new ContaPupanca();

Em ambos os casos você pode acionar o método para calcular os tributos, por exemplo:

cp.calcTributos();
tributavel.calcTributos();

Valeuu Galera, muito obrigado;)!