O Que É Interface?
E se for necessário herdar de mais de uma classe? O Java permite isso por meio de interfaces. Apesar do nome, uma interface é muito semelhante a uma classe abstrata. Veja a seguir como é feita a declaração de uma interface:
De forma simples, uma interface é utilizada para definir métodos que uma classe irá implementar. Interfaces possuem uma sintaxe distinta para sua criação. Enquanto usamos "public class className { }" ao criar uma classe, a sintaxe para criar uma interface é diferente:
InterfaceExample.java
123456package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
- Atenção à declaração do método;
- Não utilizamos modificadores de acesso;
- Não fornecemos corpos de métodos;
- Não há necessidade de rotular métodos como abstract já que estamos trabalhando dentro de uma interface;
- Não criamos campos dentro de interfaces.
Vamos considerar o uso de uma Interface utilizando o exemplo de um Reprodutor de Mídia.
Temos uma Interface chamada MediaPlayer que possui os métodos play, pause e stop. Além disso, existem duas classes que implementam essa interface de reprodutor de mídia, nomeadamente AudioPlayer e VideoPlayer.
MediaPlayer.java
AudioPlayer.java
VideoPlayer.java
12345public interface MediaPlayer { void play(); void pause(); void stop(); }
Como pode ser observado, foi criada uma interface e duas classes que implementam essa interface. A sintaxe é a mesma utilizada ao sobrescrever métodos abstratos. Cada método foi sobrescrito em cada classe para executar sua função específica.
Uma das características das interfaces é a possibilidade de implementar mais de uma interface. Veja um exemplo:
Vehicle.java
VehicleInfo.java
Car.java
123456package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
Criamos as interfaces Vehicle e VehicleInfo. Além disso, criamos uma classe Car que implementa ambas essas interfaces. Dessa forma, é possível escolher qual comportamento implementar na classe, o que complementa o princípio de abstração da programação orientada a objetos.
Trabalhar com interfaces é muito conveniente, e elas são amplamente utilizadas. No próximo capítulo, também exploraremos as principais diferenças entre uma interface e uma classe abstrata e aprenderemos qual delas é mais adequada para uso prático!
1. O que é uma interface em Java?
2. Em Java, uma classe pode implementar várias interfaces?
3. Qual é o propósito de uma interface em Java?
4. Qual palavra-chave é usada para implementar uma interface em uma classe?
5. O que acontece se uma classe declara implementar uma interface, mas não fornece implementações para todos os seus métodos?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 4.76
O Que É Interface?
Deslize para mostrar o menu
E se for necessário herdar de mais de uma classe? O Java permite isso por meio de interfaces. Apesar do nome, uma interface é muito semelhante a uma classe abstrata. Veja a seguir como é feita a declaração de uma interface:
De forma simples, uma interface é utilizada para definir métodos que uma classe irá implementar. Interfaces possuem uma sintaxe distinta para sua criação. Enquanto usamos "public class className { }" ao criar uma classe, a sintaxe para criar uma interface é diferente:
InterfaceExample.java
123456package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
- Atenção à declaração do método;
- Não utilizamos modificadores de acesso;
- Não fornecemos corpos de métodos;
- Não há necessidade de rotular métodos como abstract já que estamos trabalhando dentro de uma interface;
- Não criamos campos dentro de interfaces.
Vamos considerar o uso de uma Interface utilizando o exemplo de um Reprodutor de Mídia.
Temos uma Interface chamada MediaPlayer que possui os métodos play, pause e stop. Além disso, existem duas classes que implementam essa interface de reprodutor de mídia, nomeadamente AudioPlayer e VideoPlayer.
MediaPlayer.java
AudioPlayer.java
VideoPlayer.java
12345public interface MediaPlayer { void play(); void pause(); void stop(); }
Como pode ser observado, foi criada uma interface e duas classes que implementam essa interface. A sintaxe é a mesma utilizada ao sobrescrever métodos abstratos. Cada método foi sobrescrito em cada classe para executar sua função específica.
Uma das características das interfaces é a possibilidade de implementar mais de uma interface. Veja um exemplo:
Vehicle.java
VehicleInfo.java
Car.java
123456package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
Criamos as interfaces Vehicle e VehicleInfo. Além disso, criamos uma classe Car que implementa ambas essas interfaces. Dessa forma, é possível escolher qual comportamento implementar na classe, o que complementa o princípio de abstração da programação orientada a objetos.
Trabalhar com interfaces é muito conveniente, e elas são amplamente utilizadas. No próximo capítulo, também exploraremos as principais diferenças entre uma interface e uma classe abstrata e aprenderemos qual delas é mais adequada para uso prático!
1. O que é uma interface em Java?
2. Em Java, uma classe pode implementar várias interfaces?
3. Qual é o propósito de uma interface em Java?
4. Qual palavra-chave é usada para implementar uma interface em uma classe?
5. O que acontece se uma classe declara implementar uma interface, mas não fornece implementações para todos os seus métodos?
Obrigado pelo seu feedback!