繁体   English   中英

为未重写的继承方法生成JavaDoc

[英]Generate JavaDoc for inherited methods which are not overridden

我有一个类(例如)“ OverridenArrayList”。 它覆盖了普通ArrayList的一些方法。 现在,我想生成一个Javadoc,其中应包含我当然更改的方法以及一些不被覆盖的重要方法(在​​导出的JavaDoc中也不会生成)。 例如“ size()”方法。

我当然可以覆盖这样的方法

@Override
public int size() {
    return super.size();
}

而且它也会生成。 但是,如果有10个以上的重要方法,有时这会有些烦人,而我必须在我创建的每个子类中编写这10个方法。

如果有人可以告诉我另一种更简单的方法来告诉Eclispe,它也应该为所有子类生成这些“重要的”方法,那就太好了。

我认为您无法实现的目标。 JavaDoc应该如何知道要包含在文档中的方法? 但是默认情况下,您的类的JavaDoc中将包含所有继承的方法的列表。

为了向您的类用户提供一些您认为重要的方法的提示,您当然可以使用@see@link JavaDoc标记创建指向继承方法文档的链接。

无论是否重写方法,都会生成JavaDoc。 您需要为需要Javadoc生成方法的方法提供正确的注释格式。

请参阅下面的内容: http : //www.tutorialspoint.com/java/java_documentation.htm

在您的方法上方添加thie以获取JavaDoc:

/** documentation */

希望我正确理解你的问题:)

您需要使用{@inheritDoc} 标签

不要忘记使用-sourcepath并提供可用的源。 在这种情况下,您要从JDK库类复制Javadoc注释。 这意味着您需要下载JDK源(src.zip)并将其分解。 我不确定如何在Eclipse上执行此操作,但是如果要在命令行上执行此操作,则可以执行以下操作:

  1. 创建扩展ArrayList的类,例如FooList.java
  2. javadoc -sourcepath jdk-sources -d doc FooList.java

这是一个例子:

    public class FooList<T> extends ArrayList<T> {

    /** This method is a new method, so javadoc should be visible */
    public void newMethod() {

    }

    /** Javadoc is overloaded, since I rewrote the javadoc comments*/
    @Override
    public int size() {
        return super.size();
    }


/** <p>
 * This is an overloaded method, so javadoc should be visible
 *  </p>
 *  {@inheritDoc}
 * @return
 * {@inheritDoc}
 * */
    @Override
        public T get(int index) {
            System.out.println(" foo ....");
            return super.get(index);
        }
}

在Intellij中 ,我看到get方法(在^ J上)的Javadoc如下:

在此处输入图片说明

注意主体和@return中都使用{@inheritDoc}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM