Les méthodes par défaut sont un type de méthode dans les interfaces qui ont une implémentation. Cette fonctionnalité a été introduite pour prendre en charge la rétrocompatibilité avec les interfaces existantes et pour améliorer la capacité d'étendre les bibliothèques et les frameworks.
Les méthodes par défaut sont des méthodes définies dans une interface avec un corps. Cela signifie qu'elles peuvent avoir une implémentation complète, contrairement aux méthodes abstraites traditionnelles qui n'ont qu'une signature de méthode. Cela permet aux interfaces d'évoluer et d'ajouter de nouvelles fonctionnalités sans casser les classes qui les implémentent déjà.
public interface MyInterface { // Default method with an implementation default void defaultMethod() { System.out.println("This is a default method."); } // Abstract method to be implemented by classes void abstractMethod(); }
Les méthodes par défaut sont particulièrement utiles dans plusieurs scénarios :
public interface Vehicle { // Default method default void start() { System.out.println("Vehicle is starting..."); } // Abstract method void drive(); }
Considérons un scénario dans lequel vous disposez d'une interface avec plusieurs implémentations. En utilisant les méthodes par défaut, vous pouvez ajouter de nouvelles fonctionnalités sans modifier les classes existantes.
public interface Appliance { default void powerOn() { System.out.println("Appliance is now on."); } void operate(); } public class WashingMachine implements Appliance { @Override public void operate() { System.out.println("Washing clothes..."); } } public class Main { public static void main(String[] args) { Appliance machine = new WashingMachine(); machine.powerOn(); // Default method machine.operate(); // Abstract method } }
Sortie :
Appliance is now on. Washing clothes...
Vous pouvez également utiliser des méthodes par défaut pour étendre les fonctionnalités des interfaces, leur permettant de fournir des méthodes utilitaires.
public interface Drawable { default void draw() { System.out.println("Drawing..."); } void render(); } public class Circle implements Drawable { @Override public void render() { System.out.println("Rendering Circle"); } } public class Main { public static void main(String[] args) { Drawable circle = new Circle(); circle.draw(); // Default method circle.render(); // Abstract method } }
Sortie :
public interface MyInterface { // Default method with an implementation default void defaultMethod() { System.out.println("This is a default method."); } // Abstract method to be implemented by classes void abstractMethod(); }
Les méthodes par défaut en Java sont une fonctionnalité puissante qui peut simplifier l'évolution de l'interface et améliorer la réutilisation du code. En comprenant et en appliquant efficacement les méthodes par défaut, vous pouvez écrire un code plus flexible et plus maintenable.
Si vous avez des questions ou avez besoin de précisions supplémentaires, n'hésitez pas à commenter ci-dessous !
Lisez les articles plus sur : Méthodes par défaut en Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!