DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

1

Interfaces

  • Na programação orientada a objetos, é útil definir o que uma classe deve fazer, mas não como.

  • Um método abstrato define a assinatura de um método sem fornecer implementação, e a subclasse deve implementar esse método.

  • Uma interface em Java permite separar totalmente a definição do que deve ser feito da implementação de como fazê-lo.

  • Uma interface pode especificar métodos sem corpo, que devem ser implementados por classes.

  • Não há limite para o número de classes que podem implementar uma interface, e uma classe pode implementar várias interfaces.

  • Para implementar uma interface, a classe deve fornecer a implementação dos métodos descritos.

  • Classes diferentes podem implementar a mesma interface de maneiras distintas, mas compartilham o mesmo conjunto de métodos.

  • O uso de interfaces permite o polimorfismo, já que objetos de diferentes classes podem ser tratados de forma intercambiável.

  • O JDK 8 introduziu a possibilidade de interfaces definirem implementações padrão para métodos, permitindo que uma interface especifique comportamento.

  • Apesar das implementações padrão, a intenção original das interfaces de definir apenas o que permanece em grande parte inalterada.

  • O foco inicial será nas interfaces tradicionais, com a discussão sobre métodos padrão no final do capítulo.

acesso interface nome {
tipo-ret nome-método1(lista-param);
tipo-ret nome-método2(lista-param);
tipo var1 = valor;
tipo var2 = valor;
// ...
tipo-ret nome-métodoN(lista-param);
tipo varN = valor;
}

  • O acesso a uma interface pode ser public ou o acesso padrão (package-private).

  • Se nenhum modificador de acesso for incluído, a interface é acessível apenas para membros de seu pacote.

  • Quando declarada como public, a interface pode ser utilizada por qualquer código, e deve estar em um arquivo com o mesmo nome.

  • O nome da interface pode ser qualquer identificador válido.

  • Na forma tradicional de uma interface, os métodos são declarados apenas com seu tipo de retorno e assinatura, sendo essencialmente métodos abstratos.

  • Classes que implementam essa interface devem fornecer implementações para todos os seus métodos, que são implicitamente public.

  • Variáveis em uma interface não são variáveis de instância; elas são implicitamente public, final e static, e devem ser inicializadas (são constantes).

  • Exemplo de uma definição de interface:

public interface Series {
int getNext(); // retorna o próximo número da série
void reset(); // reinicia
void setStart(int x); // define o valor inicial
}

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay