如何将方法的Javadoc复制到其他方法的Javadoc中?

jav*_*top 31 java javadoc delegation

我知道有@inheritDoc,但它只适用于覆盖其他方法.

我有几个具有许多委托方法的类(不会覆盖其他方法).

他们的Javadoc可以"继承"(更确切地说:复制)吗?

/** here I need the copy of wrappedMethod's Javadoc */
public void delegateMethod(Object param){
  innerSomething.wrappedMethod(param);
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*mas 13

@link或@see标签在这里是合适的.如果你正在包装方法,它必须提供独特的行为,使其不适合超载或其他方式.

  • 这不适用于可见性低于生成内容的方法。例如,对于库编写者来说,生成带有私有成员的 JavaDoc 不是一种选择。我很想知道一种在公共 API 中_重用_私有文档的方法。 (3认同)
  • @BennyBottema,你表达了我的想法,谢谢!我还遇到这样的情况:我正在使用相当广泛的 Javadoc 记录一个解析选项字符串的私有方法。这是描述所属的位置,但多个构造函数传递选项字符串,并且也需要相同的文本。如果现在我将已经跨越整个屏幕的私有方法中的文本复制到一个甚至每个构造函数,这将只是一个多余的混乱和维护噩梦。我不想增加仅由构造函数调用的方法的可见性。 (2认同)

DJC*_*rth 9

有时剪切和粘贴文档实际上是一件好事.以某种方式"链接"文档,特别是在没有继承关系的情况下,会冒一个方法会以某种方式更改其行为的风险,使链接的文档不再有效.

但是在代表的情况下,我多次遇到同样的问题.通常,在主类上委托一个包私有委托有一个公共方法,它与main方法具有完全相同的行为.这里的解决方案很简单 - 记录主类,并将@link或@see放在委托类上.每个人都可以看到主类的文档.您可能还需要在委托类中获得更详细的文档,例如实现细节.