29
ฉันจะอธิบายความแตกต่างระหว่างอินเทอร์เฟซกับคลาสนามธรรมได้อย่างไร
ในตอนหนึ่งของการสัมภาษณ์ของฉันฉันได้รับการถามเพื่ออธิบายความแตกต่างระหว่างนั้นอินเตอร์เฟซและระดับนามธรรม นี่คือคำตอบของฉัน: วิธีการของอินเทอร์เฟซ Java เป็นนามธรรมโดยปริยายและไม่สามารถใช้งานได้ คลาสนามธรรม Java สามารถมีวิธีการอินสแตนซ์ที่ดำเนินพฤติกรรมเริ่มต้น ตัวแปรที่ประกาศในอินเตอร์เฟส Java นั้นเป็นค่าเริ่มต้นสุดท้าย คลาสนามธรรมอาจมีตัวแปรที่ไม่สิ้นสุด สมาชิกของส่วนต่อประสาน Java เป็นสาธารณะโดยค่าเริ่มต้น คลาสนามธรรมของ Java สามารถมีสมาชิกคลาสได้ตามปกติเช่นส่วนตัวมีการป้องกัน ฯลฯ อินเทอร์เฟซ Java ควรใช้งานโดยใช้คำหลัก“ ดำเนินการ”; คลาสนามธรรมของ Java ควรถูกขยายโดยใช้คีย์เวิร์ด“ extends” อินเตอร์เฟสสามารถขยายอินเตอร์เฟส Java อื่นได้เท่านั้นคลาสนามธรรมสามารถขยายคลาส Java อื่นและใช้อินเตอร์เฟส Java หลายอินเตอร์เฟส คลาส Java สามารถใช้หลายอินเตอร์เฟส แต่สามารถขยายคลาสนามธรรมเพียงคลาสเดียวเท่านั้น อย่างไรก็ตามผู้สัมภาษณ์ไม่พอใจและบอกฉันว่าคำอธิบายนี้เป็นตัวแทนของ " ความรู้เกี่ยวกับหนอนหนังสือ " เขาถามฉันสำหรับการตอบสนองการปฏิบัติมากขึ้นอธิบายเมื่อฉันจะเลือกระดับนามธรรมมากกว่าอินเตอร์เฟซที่ใช้ตัวอย่างการปฏิบัติ ฉันไปผิดที่ไหน