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

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

王林
王林avant
2024-01-24 20:03:151151parcourir

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!

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