Если вы собираетесь передать числовое значение параметру метода, вы можете захотеть, чтобы параметр метода имел тип double, чтобы вы могли передавать в параметр данные byte, int, long, float и double.
Если параметр метода является типом интерфейса , мы можем передать ссылку на экземпляр любого класса, который реализует интерфейс, в параметр интерфейса, а затем параметр интерфейса может выполнить обратный вызов метода интерфейса, реализованного классом.
Например:
interfaceSpeakHello{voidspeakHello();}classChineseimplementsSpeakHello{publicvoidspeakHello(){System.out.println(Китайцы привыкли к приветствиям: Привет, вы поели?);}}classEnglishimplementsSpeakHello{publicvoidspeakHello(){System.out.println(British Custom приветствие: Здравствуйте, погода хорошая!);}} classKindHello{publicvoidlookHello(SpeakHellohello){//Параметр типа интерфейса hello.speakHello();//Обратный вызов интерфейса}} publicclassMain{publicstaticvoidmain(Stringargs[]){KindHellokindHello=newKindHello ( );kindHello.lookHello(newChinese());kindHello.lookHello(newEnglish());}}
Результаты бега следующие:
Китайцы привыкли к приветствиям: Здравствуйте, вы поели? Британцы привыкли к приветствиям: Здравствуйте, погода хорошая!
Примечание. Если в исходный файл добавлено еще несколько классов, таких как китайский и английский, класс KindHello не нужно каким-либо образом изменять.