javadoc 中未提及的弃用方法

deprecated method not mentioned in javadoc

我有 2 个 class。第一个包含已弃用的方法。第二个 class 实例化第一个并使用其已弃用的方法。

编译器确实显示警告但是:

问题:为什么在 运行 javadoc Test.java 之后生成的 Java 文档中没有列出已弃用的方法?

代码如下:

import java.lang.annotation.*;
class Tester{
   private int a = 1;
   /**
   * @deprecated
   * This is deprecated because I do not like it
   */
   @Deprecated
   public void afficher(){
       System.out.println("a is: " + a);
   }
}
public class Test{
   public static void main(String[] args){
       Tester T = new Tester();
       T.afficher();
   }
}

这是生成的 Java 文档文件的屏幕截图,其中根本没有列出已弃用的方法:

Javadoc 仅记录 public classes。您的 class 中有一个已弃用的方法不是 public,因此不会被记录。

javadoc Test.java

为 class 测试生成文档。您弃用的方法在 class Tester 中。

正如评论中指出的那样:class Tester 不会被记录下来,因为它被认为与 javadoc 无关。 默认情况下,仅收集 publicprotected 用于文档 ( http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html )。

要么更改它的可见性(例如,使其成为 protectedpublic),要么生成带有标志 -package-private 的 javadoc。但请注意,您可能会生成大量文档,您可能根本不需要这些文档。

javadoc -package Test.java
-public: Shows only public classes and members.
-protected: Shows only protected and public classes and members. This is the default.
-package: Shows only package, protected, and public classes and members.
-private: Shows all classes and members.

所以用 javadoc -package -d *.java

来调用它