หากต้องการใช้ประโยชน์จากการตรวจสอบคอมไพเลอร์คุณควรใช้คำอธิบายประกอบแบบแทนที่ แต่อย่าลืมว่า Java Compiler 1.5 จะไม่อนุญาตให้ใช้คำอธิบายประกอบนี้เมื่อเอาชนะวิธีการเชื่อมต่อ คุณสามารถใช้มันเพื่อแทนที่วิธีการเรียน (นามธรรมหรือไม่)
IDE บางตัวในขณะที่ Eclipse แม้กำหนดค่าด้วยรันไทม์ Java 1.6 หรือสูงกว่านั้นก็ยังคงสอดคล้องกับ Java 1.5 และไม่อนุญาตให้ใช้ @override ตามที่อธิบายไว้ข้างต้น เพื่อหลีกเลี่ยงพฤติกรรมดังกล่าวคุณต้องไปที่: คุณสมบัติโครงการ -> Java คอมไพเลอร์ -> กาเครื่องหมาย“ เปิดใช้งานการตั้งค่าเฉพาะโครงการ” -> เลือก“ ระดับความสอดคล้องกับคอมไพเลอร์” = 6.0 หรือสูงกว่า
ฉันชอบที่จะใช้คำอธิบายประกอบนี้ทุกครั้งที่ฉันเอาชนะวิธีการอย่างอิสระถ้าฐานเป็นอินเทอร์เฟซหรือคลาส
สิ่งนี้จะช่วยให้คุณหลีกเลี่ยงข้อผิดพลาดทั่วไปเช่นเมื่อคุณคิดว่าคุณกำลังจัดการกับตัวจัดการเหตุการณ์แล้วคุณจะไม่เห็นอะไรเกิดขึ้น ลองนึกภาพคุณต้องการเพิ่มฟังเหตุการณ์ไปยังองค์ประกอบ UI บางส่วน:
someUIComponent.addMouseListener(new MouseAdapter(){
public void mouseEntered() {
...do something...
}
});
คอมไพล์รหัสและวิ่งข้างต้น แต่ถ้าคุณเลื่อนเมาส์ภายใน someUIComponent ว่า“ทำอะไร” รหัสจะทราบทำงานเพราะจริง ๆ mouseEntered(MouseEvent ev)
แล้วคุณไม่ได้เอาชนะวิธีฐาน mouseEntered()
คุณเพียงแค่สร้างวิธีพารามิเตอร์น้อยใหม่ แทนที่จะใช้รหัสนั้นหากคุณใช้@Override
คำอธิบายประกอบคุณได้เห็นข้อผิดพลาดในการคอมไพล์และคุณไม่ต้องเสียเวลาคิดว่าเหตุใดตัวจัดการเหตุการณ์ของคุณจึงไม่ทำงาน