โดยทั่วไปเมื่อคุณแทนที่เมธอดคุณจะปฏิบัติตามสัญญาที่กำหนดไว้ในคลาสพื้นฐาน / อินเทอร์เฟซดังนั้นคุณจึงไม่ต้องการเปลี่ยน javadoc ดั้งเดิม แต่อย่างใด ดังนั้นจึงไม่จำเป็นต้องใช้@inheritDoc
หรือ@see
แท็กที่กล่าวถึงในคำตอบอื่น ๆ และทำหน้าที่เป็นสัญญาณรบกวนในโค้ดเท่านั้น เครื่องมือที่สมเหตุสมผลทั้งหมดสืบทอดวิธีการ javadoc จากซูเปอร์คลาสหรืออินเทอร์เฟซตามที่ระบุไว้ที่นี่ :
Inherit from classes and interfaces - Inheriting of comments occurs in all
three possible cases of inheritance from classes and interfaces:
- When a method in a class overrides a method in a superclass
- When a method in an interface overrides a method in a superinterface
- When a method in a class implements a method in an interface
ความจริงที่ว่าเครื่องมือบางอย่าง (ฉันกำลังมองหาคุณ Eclipse!) สร้างสิ่งเหล่านี้โดยค่าเริ่มต้นเมื่อการแทนที่เมธอดนั้นเป็นเพียงสถานะที่น่าเศร้าเท่านั้น แต่ก็ไม่ได้ทำให้โค้ดของคุณยุ่งเหยิงด้วยเสียงที่ไร้ประโยชน์
แน่นอนว่าอาจมีกรณีตรงกันข้ามเมื่อคุณต้องการเพิ่มความคิดเห็นในวิธีการลบล้าง (โดยปกติจะมีรายละเอียดการใช้งานเพิ่มเติมหรือทำให้สัญญาเข้มงวดขึ้นเล็กน้อย) แต่ในกรณีนี้คุณแทบไม่อยากทำอะไรแบบนี้เลย:
/**
* {@inheritDoc}
*
* This implementation is very, very slow when b equals 3.
*/
ทำไม? เนื่องจากความคิดเห็นที่สืบทอดมาอาจมีความยาวมาก ในกรณีนี้ใครจะสังเกตเห็นประโยคเสริมท้ายวรรคยาว 3 ย่อหน้า ?? เพียงแค่เขียนความคิดเห็นของคุณเองและนั่นคือทั้งหมดที่ เครื่องมือ javadoc ทั้งหมดจะแสดงประเภทSpecified by link ซึ่งคุณสามารถคลิกเพื่ออ่านความคิดเห็นของคลาสพื้นฐานได้ ไม่มีประเด็นในการผสมพวกเขา