Méthodes par défaut dans les interfaces

Méthodes par défaut dans les interfaces

Dans la programmation Java, il peut y avoir des cas où le développeur doit ajouter diverses fonctionnalités en utilisant à la fois le «interfaces" et "Des classes". Par exemple, le tri des fonctionnalités séparément en considérant leur association. Dans de tels cas, le «Méthodes par défaut«Dans les interfaces, aidez le programmeur à trier et à accéder efficacement aux données.

Cet article développera l'utilisation et la mise en œuvre du Java «Méthodes par défaut”Dans les interfaces.

Quelles sont les méthodes par défaut dans les interfaces en java?

Le "Méthodes par défaut«Dans les interfaces, fournissez une fonctionnalité supplémentaire au type donné sans interrompre les classes d'implémentation. Ces méthodes sont accumulées dans l'interface et ne sont pas abstraits.

Syntaxe

interface publique interfacename
void ABC ();
par défaut void xyz ()
//corps

Dans cette syntaxe:

  • "abc"Est une méthode abstraite.
  • "xyz«Est la méthode par défaut.

Exemple 1: implémentation de la méthode par défaut à partir d'un fichier d'interface séparé

Dans cet exemple, une interface peut être implémentée à partir d'un fichier externe, et la méthode par défaut de l'interface peut être importée et exécutée à partir de ce fichier via un objet de classe.

Code d'interface

Présentation des lignes de code suivantes:

Roll d'interface publique
vide name ();
Void RollNo par défaut ()
Système.dehors.println ("Roll no est: 1");

Dans le fichier d'interface, effectuez les étapes suivantes:

  • Tout d'abord, créez une interface nommée «rouleau".
  • Dans cette interface, tout d'abord, spécifiez la méthode abstraite "Nom()".
  • Maintenant, définissez la méthode par défaut nommée "rollno ()”Affichage du message indiqué.

Code de la classe

Passons au code de classe fourni ci-dessous:

classe étudiante implémente rouler
Nom de vide public ()
Système.dehors.println ("Le nom est: Harry");

classe publique InterfacedEfault
public static void main (String args [])
Étudiant objet = nouveau étudiant ();
objet.Nom();
objet.rollno ();

Dans la classe, appliquez les étapes ci-dessous:

  • Définissez la classe "Étudiant”Implémentation de l'interface discutée, i.e., "rouleau".
  • Dans la classe, définissez la méthode abstraite «Nom()»Spécifié dans l'interface.
  • Dans l'ensemble, créez un objet de la classe nommé «objet" en utilisant le "nouveau»Mot-clé et«Étudiant()”Constructeur, respectivement.
  • Après cela, invoquez les méthodes d'interface abstraites et par défaut en faisant référence à l'objet de classe, respectivement.

Sortir

À partir de la sortie ci-dessus, on peut observer que la méthode par défaut de l'interface est implémentée dans la classe de manière appropriée.

Exemple 2: implémentation de méthodes par défaut et statiques de l'interface définie dans le même fichier

Dans cet exemple particulier, l'interface définie peut être implémentée dans le même fichier et les méthodes par défaut et statique peuvent être invoquées dans le «principal»:

interface xyz
void defmet defmet ()
Système.dehors.println ("par défaut!");

statique void statMeth (String msg)
Système.dehors.println (msg);

classe DefMeth implémente xyz
public void classfunc (string val)
Système.dehors.println (val);

interface de classe publique1
public static void main (String [] args)
DefMeth Object = new DefMeth ();
objet.Defmet ();
xyz.statmeth ("statique!");
objet.ClassFunc ("Fonction de classe!");

Appliquez les étapes suivantes comme prévu dans l'extrait de code ci-dessus:

  • De même, déclarez une interface nommée «xyz".
  • Après cela, définissez les méthodes par défaut et statiques nommées «Defmet ()" et "statmeth ()”Affichage du message donné et de l'argument passé, respectivement.
  • Maintenant, spécifiez la classe nommée «faire défaire»Implémentation de l'interface.
  • Dans cette classe, définissez la fonction "classfunc ()”Enregistrement du message fourni.
  • Dans le "principal», Créez un objet de la classe rappelant l'approche discutée.
  • Dans l'étape suivante, reportez-vous à la méthode d'interface par défaut "Defmet ()".
  • De plus, indiquez la méthode statique accumulée, je.e., "statmeth«Dans l'interface en y faisant référence (interface).
  • Note: Le "statique«La méthode est invoquée indépendamment de l'objet créé.
  • Enfin, invoquez la fonction de classe contenue "classfunc ()"En passant l'argument de la chaîne indiquée.

Sortir

Dans ce résultat, il peut être laissé entendre que les messages correspondants contre chacune des méthodes invoquées sont affichées en conséquence.

Conclusion

Le java "Méthodes par défaut«Dans les interfaces, sont implémentées dans les interfaces. Ces méthodes peuvent être invoquées à l'aide d'instances de classe et fournir des fonctionnalités supplémentaires. Ces méthodes ont un corps contrairement au «Méthodes abstraites". Ce blog a discuté de l'implémentation des méthodes par défaut Java dans les interfaces.