Heim  >  Artikel  >  Computer-Tutorials  >  Eingehende Analyse des Schnittstellen-Callback-Mechanismus von Java

Eingehende Analyse des Schnittstellen-Callback-Mechanismus von Java

王林
王林nach vorne
2024-01-24 20:03:151151Durchsuche

Eingehende Analyse des Schnittstellen-Callback-Mechanismus von Java

Detaillierte Erklärung des Java-Schnittstellenrückrufs

Schnittstellenrückrufe sind eine Möglichkeit, Polymorphismus zu verkörpern. Dadurch kann die Objektreferenz einer Klasse, die eine Schnittstelle implementiert, der von der Schnittstelle deklarierten Schnittstellenvariablen zugewiesen werden, sodass die von der Klasse implementierten Methoden in der Schnittstelle über die Schnittstellenvariable aufgerufen werden können. Dies entspricht der Benachrichtigung des entsprechenden Objekts, die Schnittstellenmethode aufzurufen, was auch als Schnittstellenrückruf bezeichnet wird. Wenn verschiedene Klassen dieselbe Schnittstelle verwenden, können sie unterschiedliche funktionale Implementierungen haben, was bedeutet, dass die Methodenkörper in der Schnittstelle unterschiedlich sein können. Daher können durch Schnittstellenrückrufe unterschiedliche Verhaltensweisen erreicht werden.

öffentliche Schnittstelle InterfaceHuidiao {

void showMessage();

}

PC der öffentlichen Klasse implementiert InterfaceHuidiao {

public void showMessage() {

System.out .println("Ich bin ein Computer!");

}

}

Public-Class-TV implementiert InterfaceHuidiao {

public void showMessage() {

System.out.println ("Ich bin ein Fernseher!");

}

}

öffentliche Klasse TestIntefaceHudiao {

public static void main(String[] args) {

IntefaceHuidiao ms ;

ms = neuer Fernseher();

ms.showMessage();

ms = neuer PC();

ms.showMessage();

}

}

Warum verwendet Java Schnittstellenrückrufe? Wie man es konkret erklärt, ist vielleicht nicht besonders einfach zu erklären....

Lassen Sie mich Ihnen ein Programm zeigen, das ich gerade geschrieben habe ... es ist leicht zu verstehen ...

Schnittstellennachricht{

void showMessage();

}

Klasse NbMsg implementiert Msg{

public void showMessage() {

System.out.println("123456");

}

}

class CahrMsg implementiert Msg{

public void showMessage() {

System.out.println("abcdef");

}

}

öffentlicher Klassentest {

private Msg-Nachricht;

public void show() {

System.out.println („Etwas wird verarbeitet“);

msg.showMessage();

}

public void setMsg(Msg msg) {

this.msg = msg;

}

public static void main(String[] args) {

test a = neuer test();

a.setMsg(new CahrMsg());

a.show();

a.setMsg(new NbMsg());

a.show();

}

}

Das Ergebnis ist:

Kümmere dich um ein paar Dinge

abcdef

Kümmere dich um ein paar Dinge

123456

Warum Schnittstellen Rückrufe implementieren können

Schnittstellenrückruf bedeutet, dass die Referenz eines Objekts, das mit einer Klasse erstellt wurde, die eine Schnittstelle implementiert, der von der Schnittstelle deklarierten Schnittstellenvariablen zugewiesen werden kann und die Schnittstellenvariable dann die Methode der von der Klasse implementierten Schnittstelle aufrufen kann. Wenn eine Schnittstellenvariable eine Methode in der von der Klasse implementierten Schnittstelle aufruft, benachrichtigt sie tatsächlich das entsprechende Objekt, die Methode der Schnittstelle aufzurufen. Dieser Vorgang wird als Schnittstellenrückruf der Objektfunktion bezeichnet. Siehe das Beispiel unten.

Interface-Menschen {

void peoplelist();

}

Klassenschüler setzt Menschen um {

public void peoplelist() {

system.out.println("ich bin Student.");

}

}

Klassenlehrer setzt Menschen um {

public void peoplelist() {

system.out.println("ich bin Lehrer.");

}

}

Beispiel für eine öffentliche Klasse {

public static void main(string args[]) {

people a; // Schnittstellenvariablen deklarieren

a = new student(); // Instanziierung, die Referenz des Objekts wird in der Schnittstellenvariablen gespeichert

a.peoplelist(); //Schnittstellenrückruf

a = new teacher(); // Instanziierung, die Referenz des Objekts wird in der Schnittstellenvariablen gespeichert

a.peoplelist(); //Schnittstellenrückruf

}

}

Ergebnis:

Ich bin Student.

Ich bin Lehrer.

Das obige ist der detaillierte Inhalt vonEingehende Analyse des Schnittstellen-Callback-Mechanismus von Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen