1
resposta

Extends vs Implements: qual a diferença?

O que eu sempre leio na internet é "com o Implements vc implementa uma Interface e com o Extends vc extende uma classe"... Mas aí continuo sem entender nada...

Vejam se eu entendi: se eu quero herdar um método, sem precisar sobrescrever, uso o extends e uma classe-mãe. Se eu precisar sobrescrever os métodos, uso o implements e uma interface.

É isso? Com o extends não consigo sobrescrever né?

1 resposta

A diferença entre uma interface e uma classe é que em uma interface você não pode implementar nenhum dos métodos declarados. Apenas a classe que "implements" a interface pode implementar os métodos.

Além disso, o java não oferece suporte a herança múltipla para classes. Porém é possível implementar várias interfaces ao mesmo tempo.

No caso das interfaces, a anotação @Override não é necessária para implementar uma interface, já que não há nada nos métodos da interface original a ser substituído.