如何让重写方法继承父类@see Javadoc标签?
解决JavaDoc中@see标签继承的问题
针对你遇到的{@inheritDoc}在@see标签中不生效的情况,以下是可行的解决思路:
1. 继承完整父文档并追加自定义内容
如果希望保留父接口A的所有JavaDoc内容(包括@see标签),同时添加自己的异常说明,只需在子接口B的方法注释开头使用{@inheritDoc},再追加自定义内容即可:
interface B extends A { /** * {@inheritDoc} * @throws IllegalArgumentException if [some condition] */ @Override void isGreaterThan(int exclusiveMinimum); }
这种方式会完整继承父接口方法的所有JavaDoc标签(包括@see),同时保留你添加的异常说明。
2. 显式复制父接口的@see标签内容
如果只需要继承@see标签而不需要父接口的其他文档内容,可以直接将父接口的@see内容复制到子接口的注释中:
interface B extends A { /** * @see some other method * @throws IllegalArgumentException if [some condition] */ @Override void isGreaterThan(int exclusiveMinimum); }
这种方式虽然需要手动复制,但能精准控制要继承的内容,避免继承不需要的父文档描述。
3. 检查JavaDoc工具版本兼容性
部分旧版本的JavaDoc工具对{@inheritDoc}的标签级支持存在限制,建议使用JDK8及以上版本,确保文档继承逻辑能被正确处理。
结合你的业务场景:子接口B抛出异常、C记录异常并通过getResult()获取,第一种方法更适合B(继承父文档+追加异常说明),C的现有写法可保留(用{@inheritDoc}继承父文档,再添加记录异常的说明和@link #getResult())。
内容的提问来源于stack exchange,提问作者Gili
相关产品推荐
相关产品推荐

