Entendendo Interfaces em Java
Entendendo Interfaces em Java
www.devmedia.com.br
[versão para impressão]
Link original: https://www.devmedia.com.br/entendendo-interfaces-em-java/25502
Introdução
A interface é um recurso muito utilizado em Java, bem como na maioria das linguagens orientadas
a objeto, para “obrigar” a um determinado grupo de classes a ter métodos ou propriedades em
comum para existir em um determinado contexto, contudo os métodos podem ser implementados
em cada classe de uma maneira diferente. Pode-se dizer, a grosso modo, que uma interface é um
contrato que quando assumido por uma classe deve ser implementado.
Dentro das interfaces existem somente assinaturas de métodos e propriedades, cabendo à classe
que a utilizará realizar a implementação das assinaturas, dando comportamentos práticos aos
métodos.
Abaixo é possível ver um exemplo de uma interface chamada FiguraGeometrica com três
assinaturas de métodos que virão a ser implementados pelas classes referentes às figuras
geométricas.
Para realizar a chamada/referência a uma interface por uma determinada classe, é necessário
adicionar a palavra-chave implements ao final da assinatura da classe que irá implementar a
interface escolhida.
https://www.devmedia.com.br/view/print.php?idcomp=25502 1/6
09/09/2019 Entendendo interfaces em Java
Sintaxe:
public class nome_classe implements nome_interface
Onde:
Abaixo é possível ver duas classes que implementam a interface FiguraGeometrica, uma
chamada Quadrado e outra Triangulo.
/**
*
* @author Robson Fernando Gomes
*/
public class Quadrado implements FiguraGeometrica {
@Override
public int getArea() {
int area = 0;
area = lado * lado;
return area;
}
@Override
public int getPerimetro() {
int perimetro = 0;
perimetro = lado * 4;
return perimetro;
}
https://www.devmedia.com.br/view/print.php?idcomp=25502 2/6
09/09/2019 Entendendo interfaces em Java
@Override
public String getNomeFigura() {
return "quadrado";
}
}
/**
*
* @author Robson Fernando Gomes
*/
public class Triangulo implements FiguraGeometrica {
https://www.devmedia.com.br/view/print.php?idcomp=25502 3/6
09/09/2019 Entendendo interfaces em Java
@Override
public String getNomeFigura() {
return "Triangulo";
}
@Override
public int getArea() {
int area = 0;
area = (base * altura) / 2;
return area;
}
@Override
public int getPerimetro() {
int perimetro = 0;
perimetro = ladoA + ladoB + ladoC;
return perimetro;
}
}
Como é possível ver acima, ambas as classes seguiram o contrato da interface FiguraGeometrica,
porém cada uma delas a implementou de maneira diferente.
Ao contrário da herança que limita uma classe a herdar somente uma classe pai por vez, é
possível que uma classe implemente varias interfaces ao mesmo tempo.
Imagine, por exemplo, uma interface chamada Veiculo e outra chamada Motor.
https://www.devmedia.com.br/view/print.php?idcomp=25502 4/6
09/09/2019 Entendendo interfaces em Java
/**
*
* @author Robson Fernando Gomes
*/
public interface Veiculo {
/**
*
* @author Robson Fernando Gomes
*/
public interface Motor {
A seguir é possível visualizar a implementação das interfaces em uma classe chamada Carro.
/**
*
* @author Robson Fernando Gomes
*/
public class Carro implements Veiculo,Motor{
@Override
public String getId() {
@Override
public String getNome() {
@Override
https://www.devmedia.com.br/view/print.php?idcomp=25502 5/6
09/09/2019 Entendendo interfaces em Java
@Override
public String getModelo() {
}
}
Conclusão
Por fim, interface nada mais que uma espécie de contrato de regras que uma classes deve seguir
em um determinado contexto. Como em Java não existe herança múltipla, a interface passa a ser
uma alternativa.
Espero que este conteúdo, apesar de breve, possa ser útil principalmente para aqueles que estão
iniciando os estudos em Java e Orientação a Objetos.
Até a próxima.
https://www.devmedia.com.br/view/print.php?idcomp=25502 6/6