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 :
default dataType methodName(parameters) {
// implementation
}
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
12345678910111213141516171819202122232425package 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 !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Posez-moi des questions sur ce sujet
Résumer ce chapitre
Afficher des exemples du monde réel
Awesome!
Completion rate improved to 4.76
Méthodes par Défaut
Glissez pour afficher le menu
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 :
default dataType methodName(parameters) {
// implementation
}
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
12345678910111213141516171819202122232425package 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 !