อินเตอร์เฟสได้รับมรดกจากObject
คลาสใน Java หรือไม่?
ไม่พวกเขาทำไม่ได้ และไม่มีอินเทอร์เฟซ "รูท" ทั่วไปที่สืบทอดโดยนัยโดยอินเตอร์เฟสทั้งหมดเช่น (ในกรณีที่มีคลาส) สำหรับเรื่องนั้น (*)
ถ้าไม่เช่นนั้นเราจะสามารถเรียกใช้เมธอดคลาสอ็อบเจ็กต์บนอินสแตนซ์ของอินเตอร์เฟสได้อย่างไร
Object
อินเตอร์เฟซที่ประกาศโดยปริยายวิธีหนึ่งสำหรับแต่ละวิธีของประชาชนใน ดังนั้นequals
เมธอดจะถูกประกาศโดยนัยในฐานะสมาชิกในอินเทอร์เฟซ (เว้นแต่ว่ามันจะสืบทอดมาจาก superinterface)
นี่คือคำอธิบายในรายละเอียดในภาษาข้อมูลจำเพาะ Java, § 9.2 การเชื่อมต่อของสมาชิก
9.2 สมาชิกส่วนต่อประสาน
[ ... ]
- หากมีอินเตอร์เฟซที่ไม่เคยมีใคร superinterfaces โดยตรงแล้วอินเตอร์เฟซโดยปริยายประกาศสาธารณะนามธรรมวิธีสมาชิกเมตรที่มีลายเซ็นของผลตอบแทนประเภทRและพ่นประโยคทีสอดคล้องกับแต่ละกรณีประชาชนวิธีเมตรที่มีลายเซ็นของประเภทผลตอบแทนRและพ่นประโยคทีประกาศใน
Object
เว้นแต่ว่ามีวิธีการที่มีลายเซ็นเดียวกันกลับประเภทเดียวกันและประโยคพ่นที่เข้ากันได้จะถูกประกาศโดยอินเตอร์เฟซ
[ ... ]
โพสต์นี้ได้รับการเขียนใหม่เป็นบทความที่นี่
(*) หมายเหตุว่าแนวความคิดของการเป็นที่ย่อยของจะไม่เทียบเท่ากับสืบทอดจาก : การเชื่อมต่อกับอินเตอร์เฟซสุดแน่นอนเชื้อObject
( § 4.10.2 Subtyping หมู่ระดับและการเชื่อมต่อประเภท. ) Object
ถึงแม้ว่าพวกเขาจะไม่ได้รับมรดกจาก