Javadoc工具根據可訪問性修改器生成文檔。默認情況下,它記錄所有public
和protected
類,字段和方法。這可以通過以下options改變:Javadoc如何處理Java 9中模塊的可見性?
-public
只顯示公共類和成員。-protected
只顯示受保護的公共類和成員。這是默認設置。-package
只顯示包,保護和公共類和成員。-private
顯示所有類和成員。
Java 9引入了模塊的概念,項目Jigsaw將它應用於現有的JDK。一個talk馬克萊因霍爾德(在一系列有關模塊會談3日)表示public
修改現在怎麼都有不同程度的可及性,根據模塊的可見性(通過exports
):
- 公開給大家
- 公開,但只對特定的模塊
- 公衆只能在模塊
由於現在還沒有所有的公衆成員都可以訪問,但繼續使用相同的Javadoc生成方案會更不合理。只有暴露於「足夠」水平的成員才應形成文件。
是否支持Javadoc模塊?除了上面的命令選項以外,還有其他命令選項可用於處理額外曝光層嗎?對於僅暴露於特定模塊的公衆成員,Javadoc列出了這些內容,如
public <module1, module2> static void getDefaultThing()
?
有趣的問題,尤其是作爲javadoc的目的可能都是面向內部(例如圖書館/模塊的開發者),但也公開(例如圖書館/模塊的用戶)。 –
@MarkRotteveel是的。如果僅針對圖書館/模塊的用戶,我認爲*由於用戶的模塊在圖書館編譯期間無法知道,因此只會顯示「爲所有人提供的公共」。不知道這對於'protected'意味着什麼。 – user1803551
似乎javadoc是以某種方式配備了* some *模塊文檔(我還沒有嘗試過其中的任何一種)。 'javadoc --help | grep模塊顯示有一些選項。根據我對這些可能的命令的理解,有兩種類型的文檔 - 通常的文檔和/或模塊。我可能是完全錯誤的......非常好的問題。 – Eugene