คุณควรอธิบายวิธีการด้วยเสมอ@Override
หากมี
ใน JDK 5 นี่หมายถึงวิธีการแทนที่ของซูเปอร์คลาสใน JDK 6 และ 7 หมายถึงวิธีการแทนที่ของซูเปอร์คลาสและวิธีการใช้อินเทอร์เฟซ เหตุผลดังกล่าวก่อนหน้านี้คือช่วยให้คอมไพเลอร์ตรวจจับข้อผิดพลาดที่คุณคิดว่าคุณกำลังเอาชนะ (หรือการนำไปใช้) วิธีการ แต่จริง ๆ แล้วจะกำหนดวิธีการใหม่ (ลายเซ็นที่แตกต่างกัน)
equals(Object)
เทียบกับequals(YourObject)
ตัวอย่างเป็นกรณีมาตรฐานในการจุด แต่อาร์กิวเมนต์เดียวกันสามารถสร้างขึ้นมาเพื่อการใช้งานอินเตอร์เฟซ
ฉันคิดว่าเหตุผลที่ไม่จำเป็นในการใส่คำอธิบายประกอบวิธีการใช้อินเทอร์เฟซคือ JDK 5 ตั้งค่าสถานะนี้ว่าเป็นข้อผิดพลาดในการคอมไพล์ หาก JDK 6 บังคับให้ใช้คำอธิบายประกอบนี้จะทำให้ความเข้ากันได้ย้อนหลัง
ฉันไม่ใช่ผู้ใช้ Eclipse แต่ใน IDE อื่น ๆ (IntelliJ) @Override
คำอธิบายประกอบจะถูกเพิ่มเมื่อใช้วิธีการอินเตอร์เฟสเท่านั้นหากโปรเจ็กต์ถูกตั้งค่าเป็นโครงการ JDK 6+ ฉันคิดว่า Eclipse นั้นคล้ายกัน
อย่างไรก็ตามฉันต้องการที่จะเห็นคำอธิบายประกอบที่แตกต่างกันสำหรับการใช้งานนี้อาจเป็น@Implements
คำอธิบายประกอบ