Maison > Java > javaDidacticiel > le corps du texte

La différence entre les méthodes d'interface par défaut et les méthodes d'interface statiques dans Java 8

王林
Libérer: 2023-08-30 23:17:17
avant
1183 Les gens l'ont consulté

Java 8中默认接口方法和静态接口方法的区别

Selon les Javadocs d'Oracle -

Les méthodes par défaut vous permettent d'ajouter de nouvelles fonctionnalités aux interfaces d'une bibliothèque et d'assurer la compatibilité binaire avec le code écrit pour les anciennes versions de ces interfaces.

Une méthode statique est une méthode associée à la classe dans laquelle elle est définie, et non à un objet. Chaque instance d'une classe partage ses méthodes statiques.

Les méthodes statiques dans une interface font partie de l'interface, les classes ne peuvent pas l'implémenter ou la remplacer, mais les classes peuvent remplacer les méthodes par défaut.

Méthodes par défaut tr>
M. Non Clés Méthodes d'interface statique
1

Basique

Les méthodes statiques appartiennent uniquement à l'interface. Nous pouvons écrire l'implémentation de cette méthode dans l'interface elle-même

Il s'agit d'une méthode avec le mot-clé par défaut, la classe peut surcharger cette méthode

2

Appel de méthode

Méthodes statiques ne peut être appelé que sur les classes d'interface, pas sur les classes.

Il peut être appelé sur l'interface ou sur la classe

3

Nom de la méthode

Interface et classe d'implémentation, les deux peuvent avoir des méthodes statiques avec le même nom, et aucune volonté se couvrir.

Nous pouvons remplacer la méthode par défaut dans la classe d'implémentation

4.

Cas d'utilisation

Elle peut être utilisée comme méthode utilitaire

Elle peut être utilisée pour fournir dans toutes les classes d'implémentation Fonctions communes

Exemples de méthodes par défaut et de méthodes statiques dans les interfaces

public interface DefaultStaticExampleInterface {
   default void show() {
      System.out.println("In Java 8- default method - DefaultStaticExampleInterface");
   }
   static void display() {
      System.out.println("In DefaultStaticExampleInterface I");
   }
}
public class DefaultStaticExampleClass implements DefaultStaticExampleInterface {
}
public class Main {
   static void main(String args[]) {
      // Call interface static method on Interface
      DefaultStaticExampleInterface.display();
      DefaultStaticExampleClass defaultStaticExampleClass = new DefaultStaticExampleClass();
     
      // Call default method on Class
      defaultStaticExampleClass.show();
   }
}
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!