Conteúdo do Curso
Java OOP
Java OOP
Métodos Padrão
Classe abstrata vs Interface: O Retorno da Interface!
Anteriormente, métodos com implementações só podiam existir em classes abstratas, mas a partir do Java 8, eles também passaram a existir em interfaces.
Vamos analisar a sintaxe para declarar um método default:
Precisamos de métodos default para os mesmos propósitos dos métodos regulares em Java. Utilizamos quando é necessário ter uma implementação no método e quando queremos implementar apenas a interface sem classes adicionais. Vamos considerar um pequeno exemplo utilizando métodos default:
Main.java
package com.example; public class Main { public interface Greeting { default void sayHello() { System.out.println("Hello from the interface!"); } void greet(String name); } public static class GreetingImpl implements Greeting { @Override public void greet(String name) { System.out.println("Hello, " + name + "!"); } } public static void main(String[] args) { GreetingImpl greetingImpl = new GreetingImpl(); greetingImpl.sayHello(); // Output: Hello from the interface! greetingImpl.greet("Alice"); // Output: Hello, Alice! } }
Neste exemplo, a interface Greeting
contém um método padrão sayHello()
com uma implementação padrão. A classe GreetingImpl
implementa essa interface e sobrescreve o método greet()
. No método principal, uma instância de GreetingImpl
é criada e ambos os métodos são chamados.
Obrigado pelo seu feedback!