在JavaDoc中重写的方法

时间:2013-04-09 14:47:51

标签: java javadoc

我正在记录我开发的Java程序,并想知道如果我只是记录超类,是否会为继承的方法(被覆盖)生成JavaDoc?

如果我有一个名为Vehicle的课程,其中有一个drive()方法,而一个名为Car的子课程已被覆盖drive()方法,那么该文档将为如果没有将Javadoc放入Car类中,则车辆驾驶方法应包含在Cars驾驶方法中吗?

2 个答案:

答案 0 :(得分:62)

  

[我]想知道如果我只记录超类,是否会为继承的方法(被覆盖)生成JavaDoc?

是。如果你没有对子类的javadoc注释,将基于超类javadoc生成javadoc。

如果在子类中定义javadoc,它们将替换继承的javadoc,但是您可以在子类javadocs中使用{@inheritDoc}包含相应的超类javadoc注释。

参考:

答案 1 :(得分:29)

如果要使用重写方法的JavaDoc,请使用{@inheritDoc}。 F. e。 :

/**
  * {@inheritDoc}
  */
@Override
public double getX() { ... }

请注意,几乎每个overriden方法也都继承了上层文档:)。你可以在oracle docs中阅读它(感谢提示@Steve Kuo)。

  

Javadoc工具能够在以下两种情况下复制或“继承”类和接口中的方法注释。构造函数,字段和嵌套类不继承文档注释...(1)自动继承注释以填充缺少的文本...(2)使用{@inheritDoc}标记显式继承注释

如果要引用类似/重要的/ ...方法,请使用@seejava.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() { ... }