2011-03-09 28 views
11

我不想编写多余的javadoc注释。正如你所看到的,@param x是多余的。是否有一个javadoc标记可将@param x中的类B设置为@param x,并将A中的参考设置为?还是允许我忽略它?另一种方法的Javadoc参考参数

/** 
* Class A constructor 
* 
* @param x position on x-axis 
*/ 
public A(final int x) { 
    this.x = x; 
} 

/** 
* Class B constructor 
* 
* @param x position on x-axis 
* @param y position on y-axis 
*/ 
public B(final int x, final int y) { 
    super(x); 
    this.y = y 
} 
+0

我会退后一步,问你为什么记录看起来有明显含义的参数。如果代码是基于您选择的名称进行自我记录的,那么JavaDoc在很大程度上是不相关的。 – 2011-03-09 23:38:08

+0

@John这是一个最小的例子,仅用于说明。 – Matthias 2011-04-02 11:52:39

+0

请注意:[{@inheritDoc}](http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javadoc.html#inheritingcomments)至少允许复制覆盖方法的文档。 – Matthias 2012-09-26 15:40:37

回答

3

你不能离开它,javadoc是不聪明的,它只是解析的意见,他不能说,x参数为B构造比一个构造函数,即使有相同在继承中发挥作用。

我不认为有办法“分解”这一点。你只需要编写所有这些,对不起...

1

它应该工作的方法:如果覆盖或实现一个方法,如果没有提供参数将被复制。

构造函数不是继承的,更不是带有其他参数类型的构造函数。 Javadoc无法知道您将该参数传递给另一个构造函数,因为它不解释方法/构造函数的内容,仅解释外部接口。所以,如果你不想写自己的doclet或者改变标准的doclet(即使这样你也不得不说某个构造函数继承了params),我想你是不走运的。 (这将是一个有用的补充,也适用于同一类中的多个类似方法,我认为)。

1

如果您重写父级方法,如果不包含javadoc,大多数IDE将显示javadoc for父方法。否则,无法在javadoc语法中定义/引用变量。