7
เหตุใดคลาสนามธรรมที่ใช้อินเทอร์เฟซจึงพลาดการประกาศ / การใช้งานวิธีใดวิธีหนึ่งของอินเทอร์เฟซ
สิ่งที่น่าสงสัยเกิดขึ้นใน Java เมื่อคุณใช้คลาสนามธรรมเพื่อใช้อินเทอร์เฟซ: วิธีการบางอย่างของอินเทอร์เฟซอาจหายไปโดยสิ้นเชิง (เช่นไม่มีการประกาศนามธรรมหรือการนำไปใช้จริง) แต่คอมไพเลอร์ไม่บ่น ตัวอย่างเช่นให้อินเทอร์เฟซ: public interface IAnything { void m1(); void m2(); void m3(); } คลาสนามธรรมต่อไปนี้ได้รับการรวบรวมอย่างสนุกสนานโดยไม่มีคำเตือนหรือข้อผิดพลาด: public abstract class AbstractThing implements IAnything { public void m1() {} public void m3() {} } คุณอธิบายได้ไหมว่าทำไม?