Interface em Java com exemplo

O que é Interface em Java?

An Interface em Java linguagem de programação é definida como um tipo abstrato usado para especificar o comportamento de uma classe. Uma interface Java 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 plítica de privacidade se o vídeo não estiver acessível

Por que uma interface é necessária?

Para entender melhor o uso da interface em Java, vejamos um exemplo de interface Java. A classe “Media Player” possui duas subclasses: CD player e DVD player. Cada um tendo sua implementação de interface exclusiva no método Java 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 vários 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:

  • Uma interface de implementação Java é uma classe 100% abstrata e possui 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

Exemplo de interface Java:

Vamos entender o programa de interface abaixo em Java:

Passo 1) Copiar a seguirwing código 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 Programa Java.

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

  • Uma classe Java pode implementar várias interfaces Java. É 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. Outrowise, 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