【问题标题】:JavaDoc OverrideJavaDoc 覆盖
【发布时间】:2019-04-15 15:36:00
【问题描述】:

首先解决重复的可能性:

我不是询问 Override 是什么,它的含义或 @Override java doc 注释之外的。那是我不是

/**Some JavaDoc Comment*/
@override
public void methodA(){}

这是什么意思。希望我强调得不够好。 我也没有要求何时使用@Override 或javadoc 是什么如何做 java doc cmets。 (是的,我强调了很多,但我宁愿过度指定问题,也不愿无缘无故地被标记为重复)。

现在问题来了:

在 java 文档中,比较器类:https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#compare-T-T- 有以下equals方法说明:

Overrides:
equals in class Object
Parameters:
obj - the reference object with which to compare.
Returns:
true only if the specified object is also a comparator and it imposes the same ordering as this comparator.
See Also:
Object.equals(Object), Object.hashCode()

如何在 JavaDoc 中获取 Overrides 标记。当我输入@Overrides 时,它会按字面意思输入描述“@Overrides”。如何在 Comparator 类中获取 JavaDoc 标记以显示 Overrides: equals in class Object

【问题讨论】:

  • 不只是因为方法覆盖了另一个方法才出现吗?
  • @AndyTurner 它没有。至少对我来说是 Eclipse。
  • @AndyTurner 不,如果我添加我自己的任何文档,它不会出现,所以我需要指定该文本,以及问题是如何。
  • 这其实和@Override注解一点关系都没有。无论如何,“Overrides:”应该出现在生成的 javadoc 中。我从来没有生成过不自动添加的 javadoc。
  • @VGR 你用什么IDE?如果是 Eclipse,它会出现在工具提示中(当您突出显示该方法并显示等效的 java doc 时)?

标签: java overriding javadoc


【解决方案1】:

基于此tech note(“自动重用方法 cmets”部分,大约下降了三分之一),如果一个方法覆盖另一个方法,JavaDoc 工具会自动生成“覆盖”部分。

来自上述链接:

您可以通过了解 Javadoc 工具如何复制(继承)覆盖或实现其他方法的方法的 cmets 来避免重新键入 doc cmets。这发生在三种情况下:

当类中的方法覆盖超类中的方法时 当接口中的方法覆盖超接口中的方法时 当类中的方法实现接口中的方法时 在前两种情况下,如果方法 m() 覆盖了另一个方法,Javadoc 工具将在 m() 的文档中生成一个子标题“Overrides”,并带有指向它所覆盖的方法的链接。

在第三种情况下,如果给定类中的方法 m() 实现了接口中的方法,Javadoc 工具将在 m() 的文档中生成一个子标题“指定者”,并带有指向该方法的链接它正在实施。

在所有这三种情况下,如果方法 m() 不包含 doc cmets 或标签,Javadoc 工具也会将它覆盖或实现的方法的文本复制到为 m() 生成的文档中。因此,如果重写或实现方法的文档足够,则无需为 m() 添加文档。如果您向 m() 添加任何文档注释或标记,“覆盖”或“指定者”子标题和链接仍会出现,但不会复制任何文本。

【讨论】:

  • 我知道这一点。我确实需要将文档 cmets 添加到覆盖的方法中,并且 @Overrides 子标题和链接仍然出现,但正如它所说(不会复制任何文本),所以我想自己编写该文本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 2016-02-06
  • 2011-06-11
  • 2012-01-28
  • 2012-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多