Wenn Sie einen numerischen Wert an einen Methodenparameter übergeben, möchten Sie möglicherweise, dass der Methodenparameter vom Typ Double ist, damit Sie Byte-, Int-, Long-, Float- und Double-Daten an den Parameter übergeben können.
Wenn der Parameter einer Methode ein Schnittstellentyp ist, können wir einen Verweis auf die Instanz einer beliebigen Klasse, die die Schnittstelle implementiert, an den Schnittstellenparameter übergeben, und dann kann der Schnittstellenparameter die von der Klasse implementierte Schnittstellenmethode zurückrufen.
Zum Beispiel:
interfaceSpeakHello{voidspeakHello();}classChineseimplementsSpeakHello{publicvoidspeakHello(){System.out.println(Chinesen sind an Begrüßungen gewöhnt: Hallo, hast du gegessen?);}}classEnglishimplementsSpeakHello{publicvoidspeakHello(){System.out.println(British Custom Begrüßung: Hallo, das Wetter ist schön!);}} classKindHello{publicvoidlookHello(SpeakHellohello){//Interface-Typparameter hello.speakHello();//Interface-Callback}} publicclassMain{publicstaticvoidmain(Stringargs[]){KindHellokindHello=newKindHello ( );kindHello.lookHello(newChinese());kindHello.lookHello(newEnglish());}}
Die Laufergebnisse sind wie folgt:
Chinesen sind an Grüße gewöhnt: Hallo, hast du schon gegessen? Briten sind an Grüße gewöhnt: Hallo, das Wetter ist schön!
Hinweis: Wenn der Quelldatei mehrere weitere Klassen wie Chinesisch und Englisch hinzugefügt werden, muss die KindHello-Klasse in keiner Weise geändert werden.