Maison >Java >javaDidacticiel >A quoi servent les méthodes par défaut en Java ?

A quoi servent les méthodes par défaut en Java ?

WBOY
WBOYavant
2023-08-20 21:37:54897parcourir

A quoi servent les méthodes par défaut en Java ?

Une interface en Java est similaire à une classe, mais elle ne contient que des méthodes abstraites et des champs modifiés par final et static.

  • C'est la spécification du prototype de méthode. Chaque fois que vous avez besoin d'instruire les programmeurs ou de conclure un contrat sur la manière dont les méthodes et les champs d'un type doivent être, vous définissez une interface.
  • Si vous souhaitez que votre classe suive une certaine spécification, vous devez implémenter l'interface requise et fournir des implémentations concrètes pour toutes les méthodes abstraites de cette interface.
  • Si vous ne fournissez pas d'implémentations de toutes les méthodes abstraites dans l'interface, une erreur de compilation sera générée.

Que se passe-t-il si une nouvelle méthode est ajoutée à l'interface ?

Supposons que nous utilisions une interface et que nous ayons implémenté toutes les méthodes abstraites dans cette interface, puis ajouté de nouvelles méthodes plus tard. Ensuite, toutes les classes utilisant cette interface ne fonctionneront que si vous implémentez la méthode nouvellement ajoutée dans chaque classe.

Pour résoudre ce problème, Java8 a introduit des méthodes par défaut.

Méthodes par défaut

Les méthodes par défaut sont également connues sous le nom de méthodes défensives ou méthodes d'extension virtuelle. Vous pouvez définir une méthode par défaut à l'aide du mot-clé default comme indiqué ci-dessous :

default void display() {
   System.out.println("This is a default method");      
}

Une fois que vous avez écrit une implémentation par défaut pour une méthode spécifique dans une interface, il n'est pas nécessaire de l'implémenter à nouveau dans les classes qui utilisent déjà (implémenter ) cette interface .

L'exemple Java suivant démontre l'utilisation des méthodes par défaut en Java.

Exemple

Démo en ligne

interface sampleInterface{  
   public void demo();  
   default void display() {
      System.out.println("This is a default method");      
   }
}
public class DefaultMethodExample implements sampleInterface{
   public void demo() {
      System.out.println("This is the implementation of the demo method");
   }  
   public static void main(String args[]) {      
      DefaultMethodExample obj = new DefaultMethodExample();
      obj.demo();
      obj.display();      
   }
}

Sortie

This is the implementation of the demo method
This is a default method

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer