@see和@inheritDoc之间的差异细节

the*_*eUg 79 java javadoc commenting

我查看了JavaDoc参考,虽然我理解@see(各种链接)和{@inheritDoc}(超类JavaDoc注释的导出)之间的基本区别,但我需要澄清事情的实际实现方式.

在Eclipse IDE中,当我为继承的方法选择"Generate Element Comments"时(从接口或toString()覆盖等),它会创建以下注释

/* (non-Javadoc)
 * @see SomeClass#someMethod()
 */
Run Code Online (Sandbox Code Playgroud)

如果我需要产生的JavaDoc我应该离开它,取代@see{@inheritDoc},或者把它真正的Javadoc这样的:

/**
 * {@inheritDoc}
 */
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我是否应该保持类#方法标志?

jta*_*orn 131

首先,你应该删除原始的eclipse模板,因为它只是嘈杂的垃圾.要么放入有意义的文档,要么根本不放任何东西.但是使用IDE模板显而易见的无用重述只会使代码混乱.

其次,如果您需要生成javadoc,那么您必须以评论开头/**.否则,它不是javadoc.

最后,如果你要覆盖那么你应该使用@inheritDoc(假设你要添加到原始文档,如@seh在评论中注明,如果你只想复制原始文档,那么你不需要任何东西).@see应该只用于引用其他相关方法.

  • 如果您打算*添加*到原始超类文档,您应该只使用`@ inheritDoc`.如果你只是希望它被复制,Javadoc就会这样做,注意超类文档适用于子类的重写方法,因为子类没有提供额外的文档. (66认同)
  • 我使用和不使用`@ inheritDoc`生成了文档,并且没有看到任何区别.即使没有`@ inheritDoc`,我也看到派生类的Javadoc被附加到基类. (3认同)