Jika Anda akan meneruskan nilai numerik ke parameter metode, Anda mungkin ingin parameter metode bertipe double, sehingga Anda bisa meneruskan data byte, int, long, float, dan double ke parameter.
Jika parameter suatu metode adalah tipe antarmuka , kita dapat meneruskan referensi ke instance kelas mana pun yang mengimplementasikan antarmuka ke parameter antarmuka, dan kemudian parameter antarmuka dapat memanggil kembali metode antarmuka yang diimplementasikan oleh kelas tersebut.
Misalnya:
interfaceSpeakHello{voidspeakHello();}classChineseimplementsSpeakHello{publicvoidspeakHello(){System.out.println(Orang China terbiasa dengan salam: Halo, apakah kamu sudah makan?);}}classEnglishimplementsSpeakHello{publicvoidspeakHello(){System.out.println(Kebiasaan Inggris salam: Halo, cuacanya bagus!);}} classKindHello{publicvoidlookHello(SpeakHellohello){//Parameter tipe antarmuka hello.speakHello();//Interface callback}} publicclassMain{publicstaticvoidmain(Stringargs[]){KindHellokindHello=newKindHello ( );kindHello.lookHello(newChinese());kindHello.lookHello(newEnglish());}}
Hasil yang berjalan adalah sebagai berikut:
Orang Tionghoa terbiasa memberi salam: Halo, apakah kamu sudah makan? Orang Inggris terbiasa memberi salam: Halo, cuacanya bagus!
Catatan: Jika beberapa kelas lagi seperti bahasa Mandarin dan Inggris ditambahkan ke file sumber, kelas KindHello tidak perlu dimodifikasi dengan cara apa pun.