Interface em Java com exemplo

Em que consiste a interface Java?

An Interface em Java linguagem de programação é definida como um tipo abstrato usado para especificar o comportamento de uma classe. UM Java interface contém constantes estáticas e métodos abstratos. Uma classe pode implementar múltiplas interfaces. Em Java, as interfaces são declaradas usando a palavra-chave interface. Todos os métodos na interface são implicitamente públicos e abstratos.

Sintaxe para declaração de interface

Para usar uma interface em sua classe, acrescente a palavra-chave “implements” após o nome da classe, seguida do nome da interface.

interface {
//methods
}

Exemplo de implementação de interface

Agora, vamos entender a interface em Java com exemplo:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Clique aqui se o vídeo não estiver acessível

Por que uma interface é necessária?

Para entender o uso da interface em Java melhor, vamos ver um Java exemplo de interface. A classe “Media Player” possui duas subclasses: CD player e DVD player. Cada um tendo sua implementação de interface exclusiva em Java método para tocar música.

Por que uma interface é necessária

Outra classe “Combo drive” herda CD e DVD (veja imagem abaixo). Qual método de jogo ele deve herdar? Isso pode causar sérios problemas de design. E, portanto, Java não permite múltiplos herança.

Por que uma interface é necessária

Agora vamos dar outro exemplo de Cachorro.

Suponha que você tenha um requisito onde a classe “cachorro” herda as classes “animal” e “Pet” (veja a imagem abaixo). Mas você não pode estender duas classes em Java. Então, o que você faria? A solução é Interface.

Por que uma interface é necessária

O livro de regras para interface diz:

  • A Java implementar interface é 100% classe abstrata e tem apenas métodos abstratos.
  • A classe pode implementar qualquer número de interfaces.

A classe Dog pode se estender para a classe “Animal” e implementar a interface como “Pet”.

Por que uma interface é necessária

Java Exemplo de interface:

Vamos entender o programa de interface abaixo em Java:

Passo 1) Copie o código a seguir em um editor.

interface Pet{
  public void test();
}
class Dog implements Pet{
   public void test(){
     System.out.println("Interface Method Implemented");
  }
   public static void main(String args[]){
     Pet p = new Dog();
     p.test();
  }
}

Passo 2) Salve, compile e execute o código. Observe a saída da interface em Java programa.

Diferença entre classe e interface

Aula
Interface
Na aula, você pode instanciar uma variável e criar um objeto. Em uma interface, você não pode instanciar uma variável e criar um objeto.
A classe pode conter métodos concretos (com implementação) A interface não pode conter métodos concretos (com implementação)
Os especificadores de acesso usados ​​com classes são privados, protegidos e públicos. Na Interface apenas um especificador é usado – Público.

Quando usar Interface e Classe Abstrata?

  • Use uma classe abstrata quando um modelo precisar ser definido para um grupo de subclasses
  • Utilize uma interface quando uma função precisar ser definida para outras classes, independente da árvore de herança dessas classes

Deve saber fatos sobre a Interface

  • A Java classe pode implementar vários Java Interfaces. É necessário que a classe implemente todos os métodos declarados nas interfaces.
  • A classe deve substituir todos os métodos abstratos declarados na interface
  • A interface permite enviar uma mensagem para um objeto sem se preocupar a quais classes ele pertence.
  • A classe precisa fornecer funcionalidade para os métodos declarados na interface.
  • Todos os métodos em uma interface são implicitamente públicos e abstratos
  • Uma interface não pode ser instanciada
  • Uma referência de interface pode apontar para objetos de suas classes de implementação
  • Uma interface pode se estender de uma ou mais interfaces. A classe pode estender apenas uma classe, mas implementar qualquer número de interfaces
  • Uma interface não pode implementar outra interface. Tem que estender outra interface, se necessário.
  • Uma interface que é declarada dentro de outra interface é chamada de interface aninhada
  • No momento da declaração, a variável de interface deve ser inicializada. Caso contrário, o compilador gerará um erro.
  • A classe não pode implementar duas interfaces em java que possuem métodos com o mesmo nome, mas tipos de retorno diferentes.

Resumo:

  • A classe que implementa a interface precisa fornecer funcionalidade para os métodos declarados na interface
  • Todos os métodos em uma interface são implicitamente públicos e abstratos
  • Uma interface não pode ser instanciada
  • Uma referência de interface pode apontar para objetos de suas classes de implementação
  • Uma interface pode se estender de uma ou mais interfaces. Uma classe pode estender apenas uma classe, mas implementar qualquer número de interfaces