我正在记录我开发的 Java 程序,并且想知道如果我只记录超类,是否会为继承的方法(被覆盖)生成 JavaDoc?
如果我有一个使用 in 方法调用的类Vehicle
,以及一个使用重写方法drive()
调用的子类,如果 Car 类中没有放置 Javadoc,车辆驱动方法的文档是否会包含在 Cars 驱动方法中?Car
drive()
[我]想知道如果我只是记录超类,是否会为继承的方法(被覆盖)生成 JavaDoc?
是的。如果您没有对子类的 javadoc 注释,则将基于超类 javadoc 生成 javadoc。
如果您在子类中定义 javadocs,它们将替换继承的 javadocs,但您可以使用在子类 javadocs{@inheritDoc}
中包含相应的超类 javadoc 注释。
参考:
如果要使用被覆盖方法的 JavaDoc,请使用{@inheritDoc}
. F.e. :
/**
* {@inheritDoc}
*/
@Override
public double getX() { ... }
请注意,几乎每个被覆盖的方法也继承了上层文档:)。您可以在oracle 文档中阅读它(感谢@Steve Kuo 的提示)。
Javadoc 工具在以下两种情况下具有复制或“继承”类和接口中的方法注释的能力。构造函数、字段和嵌套类不继承文档注释... (1) 自动继承注释以填补缺失的文本... (2) 显式继承带有 {@inheritDoc} 标签的注释
如果@see
您想引用类似/重要/...方法,请使用。类的例子java.awt.Point
:
/**
* Returns the location of this point.
* This method is included for completeness, to parallel the
* <code>getLocation</code> method of <code>Component</code>.
* @return a copy of this point, at the same location
* @see java.awt.Component#getLocation
* @see java.awt.Point#setLocation(java.awt.Point)
* @see java.awt.Point#setLocation(int, int)
* @since 1.1
*/
public Point getLocation() { ... }