Maison > tutoriels informatiques > connaissances en informatique > Analyse approfondie du mécanisme de rappel de l'interface Java

Analyse approfondie du mécanisme de rappel de l'interface Java

王林
Libérer: 2024-01-24 20:03:15
avant
1216 Les gens l'ont consulté

Analyse approfondie du mécanisme de rappel de linterface Java

Explication détaillée du rappel de l'interface Java

Les rappels d'interface sont un moyen d'incarner le polymorphisme. Il permet d'attribuer la référence d'objet d'une classe qui implémente une interface à la variable d'interface déclarée par l'interface, afin que les méthodes de l'interface implémentées par la classe puissent être appelées via la variable d'interface. Cela équivaut à demander à l'objet correspondant d'appeler la méthode d'interface, également appelée rappel d'interface. Lorsque différentes classes utilisent la même interface, elles peuvent avoir des implémentations fonctionnelles différentes, ce qui signifie que les corps de méthode dans l'interface peuvent être différents. Par conséquent, différents comportements peuvent être obtenus grâce aux rappels d’interface.

interface publique InterfaceHuidiao {

void showMessage();

}

PC de classe publique implémente IntefaceHuidiao {

public void showMessage() {

System.out .println("Je suis un ordinateur !");

}

}

La télévision de classe publique implémente IntefaceHuidiao {

public void showMessage() {

System.out.println ("Je suis une télé !");

}

}

classe publique TestIntefaceHudiao {

public static void main(String[] args) {

IntefaceHuidiao ms ;

ms = nouvelle télé();

ms.showMessage();

ms = nouveau PC();

ms.showMessage();

}

}

Pourquoi Java utilise-t-il les rappels d'interface

Comment l'expliquer spécifiquement n'est peut-être pas particulièrement facile à expliquer....

Laissez-moi vous montrer un programme que je viens d'écrire... c'est facile à comprendre...

Msg d'interface{

void showMessage();

}

classe NbMsg implémente Msg{

public void showMessage() {

System.out.println("123456");

}

}

class CahrMsg implémente Msg{

public void showMessage() {

System.out.println("abcdef");

}

}

test en classe publique {

Msg privé ;

spectacle vide public() {

System.out.println ("Traitement de quelque chose");

msg.showMessage();

}

public void setMsg(Msg msg) {

this.msg = msg;

}

public static void main(String[] args) {

test a = nouveau test();

a.setMsg(nouveau CahrMsg());

a.show();

a.setMsg(nouveau NbMsg());

a.show();

}

}

Le résultat est :

Gérer certaines choses

abcdef

Gérer certaines choses

123456

Pourquoi les interfaces peuvent implémenter des rappels

Le rappel d'interface signifie que la référence d'un objet créé à l'aide d'une classe qui implémente une interface peut être affectée à la variable d'interface déclarée par l'interface, puis la variable d'interface peut appeler la méthode de l'interface implémentée par la classe. En effet, lorsqu'une variable d'interface appelle une méthode dans l'interface implémentée par la classe, elle notifie à l'objet correspondant d'appeler la méthode de l'interface. Ce processus est appelé le rappel d'interface de la fonction objet. Voir l'exemple ci-dessous.

interfacer les gens {

void peoplelist();

}

l'élève de la classe met en œuvre les gens {

public void peoplelist() {

system.out.println("je suis étudiant.");

}

}

l'enseignant de la classe met en œuvre les gens {

public void peoplelist() {

system.out.println("je suis enseignant.");

}

}

exemple de classe publique {

public static void main(string args[]) {

people a; // Déclarer les variables d'interface

a = new student(); // Instanciation, la référence de l'objet est stockée dans la variable d'interface

a.peoplelist(); //Rappel d'interface

a = new student(); // Instanciation, la référence de l'objet est stockée dans la variable d'interface

a.peoplelist(); //Rappel d'interface

}

}

Résultat :

je suis étudiant.

je suis enseignant.

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!

Étiquettes associées:
source:docexcel.net
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