A palavra-chave default em Java é usada em dois contextos principais: em interfaces e em blocos de inicialização.
1. Métodos default em Interfaces
Desde o Java 8, a palavra-chave default pode ser usada para definir métodos com uma implementação padrão dentro de interfaces. Isso permite que interfaces forneçam métodos com um corpo, o que era anteriormente impossível.
Uso e Exemplo:
Definição: Métodos default são usados para adicionar funcionalidades novas a interfaces sem quebrar as implementações existentes.
public interface MinhaInterface {
// Método padrão
default void metodoPadrao() {
System.out.println("Este é um método padrão.");
}
// Método abstrato
void metodoAbstrato();
}
public class Implementacao implements MinhaInterface {
@Override
public void metodoAbstrato() {
System.out.println("Implementando o método abstrato.");
}
// O métodoPadrao pode ser usado sem a necessidade de sobrescrever
}
public class Teste {
public static void main(String[] args) {
Implementacao obj = new Implementacao();
obj.metodoPadrao(); // Usa a implementação padrão da interface
obj.metodoAbstrato(); // Implementado na classe
}
}
Neste exemplo, metodoPadrao tem uma implementação padrão fornecida pela interface MinhaInterface. A classe Implementacao não precisa fornecer sua própria implementação para esse método, mas deve implementar o método abstrato metodoAbstrato.
Posts recentes
2. Blocos default em Inicialização
A palavra-chave default também pode ser usada em blocos switch para indicar um caso padrão que será executado se nenhum dos casos anteriores corresponder ao valor.
Uso e Exemplo:
Definição: O bloco default em uma estrutura switch especifica o código a ser executado quando nenhum dos outros casos corresponde.
public class ExemploSwitch {
public static void main(String[] args) {
int numero = 2;
switch (numero) {
case 1:
System.out.println("Número é 1");
break;
case 2:
System.out.println("Número é 2");
break;
default:
System.out.println("Número não é 1 nem 2");
break;
}
}
}
Neste exemplo, o bloco default será executado se o valor de numero não corresponder a nenhum dos casos (1 ou 2). Se numero fosse diferente de 1 ou 2, a saída seria “Número não é 1 nem 2”.
Resumo
- Métodos default em Interfaces: Permitem fornecer uma implementação padrão para métodos em interfaces, ajudando a evoluir interfaces sem quebrar implementações existentes.
- Bloco default em switch: Define um caso padrão que é executado quando nenhum dos outros casos no switch corresponde ao valor testado.
Essas funcionalidades proporcionam flexibilidade e melhorias na linguagem Java, facilitando a manutenção e evolução de código.