• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

Quando usar Interfaces?

June 20, 2016 by Mauda Leave a Comment

Conteúdo do Post:
  1. Definições…
  2. Quando utilizar…
  3. Quando não utilizar…
  4. finnaly{

Olá Pessoal, tudo bom?

O post de hoje irá deixar alguns pontos relacionados a quando usar uma interface. Confira o post a seguir…

Para começar vamos realizar algumas definições:

Definições…

Uma interface é um tipo pré definido na Linguagem Java, assim como o tipoEnum. Para se declarar uma interface é necesário utilizar a palavra chave interface ao invés da palavra chave class como mostra o código abaixo:

Java
1
2
3
public interface InterfaceExemplo {
    //Algum código aqui
}

Uma interface pode possuir zero ou mais declarações de métodos. Esses métodos podem possuir somente a visibilidade public. Uma declaração de método não possui um “corpo”, uma implementação. Ao invés de usar as chaves, deverá ser utilizado um ponto e virgula ao fim do cabeçalho do método, como mostra as linhas 3 e 5:

Java
1
2
3
4
5
6
7
8
9
public interface InterfaceExemplo {
    
    public abstract void metodoAbstrato1(String nome);
    
    public abstract String metodoAbstrato2(int valor);
    
    //Algum código aqui
    
}

Lembre-se que uma interface sem métodos declarados não é inútil, você pode utilizar esta como instrumento muito importante para polimorfismo. Não acredita? Pense na interface java.io.Serializable ((API java.io.Serializable – link))

Para o tipo Interface, as palavras public e abstract são redundantes, ou seja, é possível remover da declaração dos métodos, assim o código acima ficará assim:

Java
1
2
3
4
5
6
7
8
9
public interface InterfaceExemplo {
    
    void metodoAbstrato1(String nome);
    
    String metodoAbstrato2(int valor);
    
    //Algum código aqui
    
}

Uma interface não pode ser instanciada, mas ela pode ser implementada em uma Classe ou Enum. Ao implementar essa interface o tipo deverá prover implementações para todos os métodos declarados na interface, abaixo segue exemplo de uma classe e um enum que implementam a InterfaceExemplo:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class ClasseImplementaInterfaceExemplo implements InterfaceExemplo {
    
    public void metodoAbstrato1(String nome){
        //realiza alguma operacao aqui
    }
    
    public String metodoAbstrato2(int valor){
        //realiza alguma operacao aqui
    }
    
    //Algum código aqui
    
}

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public enum EnumImplementaInterfaceExemplo implements InterfaceExemplo {
    
    public void metodoAbstrato1(String nome){
        //realiza alguma operacao aqui
    }
    
    public String metodoAbstrato2(int valor){
        //realiza alguma operacao aqui
    }
    
    //Algum código aqui
    
}

Caso isso não seja satisfeito, a classe deverá ser declarada abstrata, para que uma filha desta nova classe implemente os métodos faltantes.

Java
1
2
3
4
5
6
7
8
9
public abstract class ClasseImplementaInterfaceExemplo implements InterfaceExemplo {
    
    public void metodoAbstrato1(String nome){
        //realiza alguma operacao aqui
    }
    
    //Algum código aqui
    
}

Java
1
2
3
4
5
6
7
8
9
public class FilhaClasseImplementaInterfaceExemplo extends ClasseImplementaInterfaceExemplo {
    
    public String metodoAbstrato2(int valor){
        //realiza alguma operacao aqui
    }
    
    //Algum código aqui
    
}

Lembrando que ao realizar a herança dessa classe abstrata é possível realizar override de métodos já declarados nas classes superiores.

Quando utilizar…

Utilizar interfaces se uma das situações abaixo ocorrer:

  1. Compartilhar código entre várias classes não relacionadas, a exemplo das interfaces java.lang.Comparable ((API java.lang.Comparable – link)) e java.lang.Cloneable ((API java.lang.Cloneable – link)) em que muitas classes implementam estas mas não possui relação entre si.
  2. Especificar o comportamento de um tipo e não quem implementa esse comportamento.
  3. Implementar múltiplas “heranças”. Pois é possível que uma classe implemente várias interfaces.

Quando não utilizar…

Não utilizar interfaces a situação abaixo ocorrer:

  1. É necessário uma implementação padrão de um método.

finnaly{

Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: Java Tagged With: implementação, interface

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2025 · Genesis Framework · WordPress · Log in