【问题标题】:How to javadoc a constructor extending an abstract class如何javadoc扩展抽象类的构造函数
【发布时间】:2017-10-16 13:35:26
【问题描述】:

我正在尝试以最简洁的方式记录我的 Java 代码,而不必多次复制内容。这是我所拥有的示例,然后我将解释我想要什么:

public abstract class Toto <S extends Number>{

    /**
    * Defined value
    */
    protected S myVariable;
    protected String myWord;

    /**
    * Constructor 1
    */
    protected Toto(){
        this.myWord = "a";
    }

    /**
    * Constructor 2
    * @param number something
    */
    protected Toto(S number){
        this.myVariable = number;
    }

    ...
}

public class ShortToto extends Toto<Short>{

    public subToto(){
        super();
    }

    /**
    * {@link Toto#Toto(Number)}
    */
    public subToto(Short number){
        super(number);
    }
    ...
}

我从中得到的 ShortToto javadoc 是 Toto 类中方法的链接,这基本上是我想要的。但是,在 netbeans 中,我被告知要为数字添加 @param,但这与 Toto 中的相同。 我不想重新定义数字,因为它已经在 Toto 中定义了,但我也不知道 Netbeans 告诉我我需要添加 @param 标记。

我的一个想法是在 Toto 中为 myVariable 添加一个 javadoc,在 ShortToto 中添加一个 @param 数字标签并链接它。但是,在这种情况下,我获得了指向 myVariable 文档的链接,而我只想获得定义。在本例中为“定义值”。

我希望我说得够清楚,如果没有,我提前道歉,不要犹豫,问我问题,我会尽量说得更清楚。

【问题讨论】:

  • {@inheritdoc} 可能是您正在寻找的。我使用 Eclipse,但您可以在设置中关闭 javadoc 警告

标签: java javadoc code-documentation


【解决方案1】:

如果这是其他开发人员的 API 文档,那么我个人的偏好是任一

  • 从基类复制到(文档中的 DRY 违规!)
  • 使用{@link xxxx} 文档标签

然后忽略这个问题。

如果只是为了你自己,我会尽量关闭 IDE 警告

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-26
    • 2015-06-02
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 2014-12-29
    • 2019-11-23
    • 1970-01-01
    相关资源
    最近更新 更多