我正在记录我开发的Java程序,并想知道如果我只记录超类,是否会为继承的方法(被覆盖)生成JavaDoc?
如果我有一个Vehicle
使用drive()
方法调用的类,并且Car
使用drive()
方法覆盖调用的子类,如果没有将Javadoc放入Car类中,那么Vehicle驱动方法的文档是否会包含在Cars驱动方法中?
Ste*_*n C 66
[我]想知道如果我只记录超类,是否会为继承的方法(被覆盖)生成JavaDoc?
是.如果你没有对子类的javadoc注释,将基于超类javadoc生成javadocs.
如果在子类中定义的javadoc,他们将取代继承的javadoc,但可以使用{@inheritDoc}
到包括在子类的javadoc各自的超javadoc注释.
参考:
Eic*_*ich 31
如果要使用重写方法的JavaDoc,请使用{@inheritDoc}
.F. e.:
/**
* {@inheritDoc}
*/
@Override
public double getX() { ... }
Run Code Online (Sandbox Code Playgroud)
请注意,几乎每个overriden方法也都继承了上层文档:).您可以在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() { ... }
Run Code Online (Sandbox Code Playgroud)