หากคุณกำลังจะส่งค่าตัวเลขไปยังพารามิเตอร์ method คุณอาจต้องการให้พารามิเตอร์ method เป็นประเภท double เพื่อให้คุณสามารถส่งผ่านไบต์, int, long, float และ double data ไปยังพารามิเตอร์ได้
หากพารามิเตอร์ของวิธีการเป็น ประเภทอินเทอร์เฟ ซ เราสามารถส่งการอ้างอิงไปยังอินสแตนซ์ของคลาสใด ๆ ที่ใช้อินเทอร์เฟซกับพารามิเตอร์อินเทอร์เฟซ จากนั้นพารามิเตอร์อินเทอร์เฟซสามารถเรียกกลับ วิธีอินเทอร์เฟซ ที่นำไปใช้โดยคลาสได้
ตัวอย่างเช่น:
interfaceSpeakHello{voidspeakHello();}class ChineseimplementsSpeakHello{publicvoidspeakHello(){System.out.println(คนจีนคุ้นเคยกับการทักทาย: สวัสดี กินข้าวหรือยัง?);}}classEnglishimplementsSpeakHello{publicvoidspeakHello(){System.out.println(British Custom คำทักทาย: สวัสดี อากาศดี!);}} classKindHello{publicvoidlookHello(SpeakHellohello){//พารามิเตอร์ประเภทอินเทอร์เฟซ hello.speakHello();//Interface callback}} publicclassMain{publicstaticvoidmain(Stringargs[]){KindHellokindHello=newKindHello ( );kindHello.lookHello(จีนใหม่());kindHello.lookHello(newEnglish());}}
ผลการวิ่งมีดังนี้:
คนจีนคุ้นเคยกับการทักทาย: สวัสดี กินข้าวหรือยัง คนอังกฤษคุ้นเคยกับการทักทาย สวัสดี อากาศดีมาก!
หมายเหตุ: หากมีการเพิ่มคลาสอื่นๆ เช่น ภาษาจีนและภาษาอังกฤษ ลงในไฟล์ต้นฉบับ ไม่จำเป็นต้องแก้ไขคลาส KindHello แต่อย่างใด