Contenu du cours
Java POO
Java POO
Méthodes par Défaut
Classe abstraite vs Interface : Le retour de l'interface !
Auparavant, les méthodes avec implémentations ne pouvaient exister que dans les classes abstraites, mais à partir de Java 8, elles sont également apparues dans les interfaces.
Examinons la syntaxe pour déclarer une méthode par défaut :
Les méthodes par défaut sont nécessaires pour les mêmes raisons que les méthodes classiques en Java. On les utilise lorsqu'une implémentation est requise dans la méthode et lorsque l'on souhaite n'implémenter que l'interface sans classes supplémentaires. Considérons un petit exemple utilisant des méthodes par défaut :
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! } }
Dans cet exemple, l'interface Greeting
contient une méthode par défaut sayHello()
avec une implémentation par défaut. La classe GreetingImpl
implémente cette interface et redéfinit la méthode greet()
. Dans la méthode principale, une instance de GreetingImpl
est créée et les deux méthodes sont appelées.
Merci pour vos commentaires !