为未被覆盖的继承方法生成JavaDoc

时间:2016-07-14 19:38:11

标签: java eclipse inheritance javadoc

我有一个班级(例如)" OverridenArrayList"。这覆盖了普通ArrayList的一些方法。 现在我想生成一个Javadoc,它应该包含我当然改变的方法和一些其他重要的方法,这些方法没有被覆盖(也没有在导出的JavaDoc中生成)。例如" size()"方法

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

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

它也会产生。但如果不仅仅是例如,这有时会有点烦人。 10个重要的方法,我必须在我创建的每个子类中编写这10个方法。

如果有人能告诉我另一种更简单的方法告诉Eclispe它应该产生这些"重要的"那将是很好的。所有子类的方法也是如此。

3 个答案:

答案 0 :(得分:1)

我不认为你想要完成的是可能的。 JavaDoc应该如何知道要包含在文档中的方法?但是,默认情况下,您的类'JavaDoc中将包含一个带有所有继承方法的列表。

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

答案 1 :(得分:0)

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

参考下文: http://www.tutorialspoint.com/java/java_documentation.htm

在你的方法上方添加JavaDoc:

/** documentation */

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

答案 2 :(得分:0)

您需要使用{@inheritDoc} tag

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

  1. 创建扩展ArrayList的类,例如FooList.java
  2. javadoc -sourcepath jdk-sources -d doc FooList.java
  3. 以下是一个例子:

        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方法的Javadoc(在^ J上),如下所示:

    enter image description here

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