Nói chung, khi bạn ghi đè một phương thức, bạn tuân thủ hợp đồng được xác định trong lớp cơ sở / giao diện, vì vậy bạn không muốn thay đổi javadoc gốc bằng mọi cách. Do đó, việc sử dụng @inheritDoc
hoặc @see
thẻ được đề cập trong các câu trả lời khác là không cần thiết và thực sự chỉ đóng vai trò như một nhiễu trong mã. Tất cả các công cụ hợp lý đều kế thừa phương thức javadoc từ lớp cha hoặc giao diện như được chỉ định ở đây :
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
Thực tế là một số công cụ (tôi đang nhìn bạn, Eclipse!) Tạo ra các công cụ này theo mặc định khi ghi đè một phương thức chỉ là một trạng thái đáng buồn, nhưng không biện minh cho việc làm lộn xộn mã của bạn với tiếng ồn vô ích.
Tất nhiên có thể xảy ra trường hợp ngược lại, khi bạn thực sự muốn thêm nhận xét vào phương thức ghi đè (thường là một số chi tiết triển khai bổ sung hoặc làm cho hợp đồng chặt chẽ hơn một chút). Nhưng trong trường hợp này, bạn hầu như không bao giờ muốn làm điều gì đó như thế này:
/**
* {@inheritDoc}
*
* This implementation is very, very slow when b equals 3.
*/
Tại sao? Bởi vì nhận xét kế thừa có thể rất dài. Trong trường hợp như vậy, ai sẽ để ý câu thừa ở cuối 3 đoạn văn dài ?? Thay vào đó, chỉ cần viết ra phần nhận xét của riêng bạn và thế thôi. Tất cả các công cụ javadoc luôn hiển thị một số loại Được chỉ định bằng liên kết mà bạn có thể nhấp vào để đọc nhận xét của lớp cơ sở. Không có ích gì khi trộn chúng.