将新的 JavaDoc 附加到来自 super 方法的现有 JavaDoc

Posted

技术标签:

【中文标题】将新的 JavaDoc 附加到来自 super 方法的现有 JavaDoc【英文标题】:Append new JavaDoc to existing ones from the super method 【发布时间】:2010-10-17 02:47:03 【问题描述】:

我已经生成了一个有据可查的接口。每个方法都有自己的 JavaDoc。实现此接口的类在逻辑上可能略有不同。

如何将 JavaDoc 从超类添加到现有的 JavaDoc。关键词

/**
 * @inheritDoc
 */

只将超类的 javaDoc 设置为当前方法。但是当我尝试添加一些单词时,super方法的JavaDoc就不见了,就像

/**
 * @inheritDoc
 * These value depends on...
 */

有没有人知道如何在不删除的情况下更新超级方法的 JavaDoc。

编辑:

关于 Brian Agnew 的回答,这很好但不是真正的答案;)

当您想要覆盖现有方法(如 Swing 中的 paint())并想要描述如何从外部初始化或处理绘制行为时,您也可能会遇到同样的问题。 这不仅仅用于接口描述。

【问题讨论】:

您描述的问题似乎已在 Java 7 中得到解决。您建议的代码在那里运行良好。 好问题。我今天学到了一些非常有用的东西。非常适合记录接口,然后所有子级都继承文档并向其中添加自己的内容 - 例如,某些实现可能会引发一些额外的异常,因此需要在 Javadoc 中添加单个 @throws 【参考方案1】:

我猜当你需要向 javadoc 添加一些东西时,你改变了一些东西。所以也许以完全相同的方式编写 javadoc 是正确的。

/**
 * Enhanced swing paint for my cool component.
 * @see JButton#paint();
 */
@Override
public void paint() 
    super.paint();
    //my stuff

【讨论】:

【参考方案2】:

我不知道有任何直接的 JavaDoc 习惯用法可以做到这一点。但是 Eclipse 和 IntelliJ 会让您获取超级 JDoc 并将其插入...它远非完美,就好像您更改超级 JDoc 您将不得不重新编辑所有覆盖,但它比手动复制粘贴要好...

【讨论】:

以上是关于将新的 JavaDoc 附加到来自 super 方法的现有 JavaDoc的主要内容,如果未能解决你的问题,请参考以下文章

将新的 Google 表格数据附加到 BigQuery 表中

将新的子文档附加到主结构中的数组

将新的不可变映射值附加到不可变列表

jQuery Address 将新的深层链接附加到现有的深层链接

如何将新的 JVM 附加到生成的 Python 进程?

如何使用 pymongo 将新的值数组附加到 mongodb 中的现有数组文档?