O que é Interface em Java:Como Implementar Interface com Exemplo
O que é Interface em Java?
Uma Interface em Java A 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 várias 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.
Agora, vamos aprender como usar a interface em Java.
Sintaxe para Declarar Interface
Para usar uma interface em sua classe, anexe a palavra-chave “implements” após o nome de sua classe seguida do nome da interface.
interface { //methods }
Exemplo de implementação de interface
Agora, vamos entender a interface em Java com o 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 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 com sua implementação de interface exclusiva no método Java para tocar música.
Outra classe “Combo drive” está herdando CD e DVD (veja a imagem abaixo). Qual método de jogo ele deve herdar? Isso pode causar sérios problemas de design. E, portanto, Java não permite herança múltipla.
Agora vamos dar outro exemplo de Dog.
Suponha que você tenha um requisito onde a classe “cachorro” herda a classe “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.
O livro de regras para interface diz,
- Uma interface de implementação Java é 100% de classe 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”.
Exemplo de interface Java:
Vamos entender o programa de interface abaixo em Java:
Etapa 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(); } }
Etapa 2) Salve, compile e execute o código. Observe a saída da interface no programa Java.
Diferença entre classe e interface
Na classe, 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 - Public. |
Quando usar Interface e Classe Abstrata?
- Use uma classe abstrata quando um modelo precisar ser definido para um grupo de subclasses
- Use uma interface quando uma função precisar ser definida para outras classes, independentemente 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 qual classe 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 várias interfaces. A classe pode estender apenas uma classe, mas implementar qualquer número de interfaces
- Uma interface não pode implementar outra interface. Ele precisa estender outra interface, se necessário.
- Uma interface 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 lançará um erro.
- A classe não pode implementar duas interfaces em Java que tenham métodos com o mesmo nome, mas tipo de retorno diferente.
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 várias interfaces. Uma classe pode estender apenas uma classe, mas implementar qualquer número de interfaces
Java
- Interface Java
- Tutorial de classe abstrata C# com exemplo:O que é abstração?
- O que é interface em c # com exemplo
- Método String Length () em Java:como encontrar com exemplo
- Método Java String charAt() com exemplo
- Java String EndsWith() Método com Exemplo
- Interface vs classe abstrata em Java:qual é a diferença?
- Java BufferedReader:Como Ler Arquivo em Java com Exemplo
- Algoritmo de ordenação por inserção em Java com exemplo de programa
- Java - Interfaces