我們知道Java中有三種注釋語句: 1.//用於單行注釋。 2./*...*/用於多行注釋,從/*開始,到*/結束,不能嵌套。 3./**...*/則是為支持jdk工具javadoc.exe而特有的注釋語句。 javadoc工具能從java源文件中讀取第三種注釋,並能識別注釋中用@標識的一些特殊變量(見表),制作成Html格式的類說明文檔。 javadoc不但能對一個java源文件生成注釋文檔,而且能對目錄和包生成交叉鏈接的html格式的類說明文檔,十分方便。 注釋中可以出現的關鍵字,以@開頭: @author 作者名 @version 版本標識 @parameter 參數名及其意義 @since 最早出現的JDK版本 @return 返回值 @throws 異常類及拋出條件 @deprecated 引起不推薦使用的警告 @see 交叉參考 下面是javadoc.exe的用法 C:\java>javadoc -help C:\java>javadoc -help usage: javadoc [options] [packagenames] [sourcefiles] [classnames] [@files] -overview <file> Read overview documentation from HTML file -public Show only public classes and members -protected Show protected/public classes and members (default) -package Show package/protected/public classes and members -private Show all classes and members -help Display command line options and exit -doclet <class> Generate output via alternate doclet -docletpath <path> Specify where to find doclet class files -sourcepath <pathlist> Specify where to find source files -classpath <pathlist> Specify where to find user class files -exclude <pkglist> Specify a list of packages to exclude -subpackages <subpkglist> Specify subpackages to recursively load -breakiterator Compute 1st sentence with BreakIterator -bootclasspath <pathlist> Override location of class files loaded by the bootstrap class loader -source <release> Provide source compatibility with specified release -extdirs <dirlist> Override location of installed extensions -verbose Output messages about what Javadoc is doing -locale <name> Locale to be used, e.g. en_US or en_US_WIN -encoding <name> Source file encoding name -J<flag> Pass <flag> directly to the runtime system Provided by Standard doclet: -d <directory> Destination directory for output files -use Create class and package usage pages -version Include @version paragraphs -author Include @author paragraphs -docfilessubdirs Recursively copy doc-file subdirectories -splitindex Split index into one file per letter -windowtitle <text> Browser window title for the documenation -doctitle <html-code> Include title for the overview page -header <html-code> Include header text for each page -footer <html-code> Include footer text for each page -bottom <html-code> Include bottom text for each page -link <url> Create links to javadoc output at <url> -linkoffline <url> <url2> Link to docs at <url> using package list at <url2> -excludedocfilessubdir <name1>:.. Exclude any doc-files subdirectories with given name. -group <name> <p1>:<p2>.. Group specified packages together in overviewpage -nocomment Supress description and tags, generate only declarations. -nodeprecated Do not include @deprecated information -noqualifier <name1>:<name2>:... Exclude the list of qualifiers from the output. -nosince Do not include @since information -nodeprecatedlist Do not generate deprecated list -notree Do not generate class hierarchy -noindex Do not generate index -nohelp Do not generate help link -nonavbar Do not generate navigation bar -quiet Do not display status messages to screen -serialwarn Generate warning about @serial tag -tag <name>:<locations>:<header> Specify single argument custom tags -taglet The fully qualified name of Taglet to register -tagletpath The path to Taglets -charset <charset> Charset for cross-platform viewing of generated documentation. -helpfile <file> Include file that help link links to -linksource Generate source in HTML -stylesheetfile <path> File to change style of the generated documentation -docencoding <name> Output encoding name C:\java> 下面請看用javadoc生成的文檔(請點擊本頁上面的觀看演示鏈接) 生成文檔: C:\java>javadoc JavadocDemo.java Loading source file JavadocDemo.java... Constructing Javadoc information... Standard Doclet version 1.4.2_03 Generating constant-values.html... Building tree for all the packages and classes... Building index for all the packages and classes... Generating overview-tree.html... Generating index-all.html... Generating deprecated-list.html... Building index for all classes... Generating allclasses-frame.html... Generating allclasses-noframe.html... Generating index.html... Generating packages.html... Generating JavadocDemo.html... JavadocDemo.java:11: warning - Tag @see: reference not found: javax.swing.Japplet Generating serialized-form.html... Generating package-list... Generating help-doc.html... Generating stylesheet.css... 1 warning C:\java> 附源文件: import java.applet.*; import java.awt.*; import java.awt.event.*; /** *JavadocDemo.java,一個顯示JavaDoc注釋的Applet *<p>注意這只是HelloApplet的一個帶注釋的版本 *@see java.applet.Applet *@see javax.swing.Japplet */ public class JavadocDemo extends Applet{ /** init()是一個Applet方法,由瀏覽器調用進行初始化 * 只調用一次 * @return 無 */ public void init(){ //創建並添加一個按鈕 //其它什么也不做 Button b; b=new Button("Hello"); add(b); show(); } /** paint() 是一個AWT組件方法,在組件要繪制時調用,只 * 是在Applet的窗口中畫帶色的方框。 * 參數 g一個java.awt.Graphics * 用在所有繪制方法中 */ public void paint(Graphics g){ int w=getSize().width,h=getSize().height; g.setColor(Color.yellow); g.fillRect(0,0,w/2,h); g.setColor(Color.green); g.fillRect(w/2,0,w,h); g.setColor(Color.black); g.drawString("Welcome to Java",50,50); } /** show()用於使組件可見,此方法在 * JDK1.1中被歸入不推薦使用 *@since 1.0 *deprecated換用setVisible(true) */ public void show(){ //由於覆蓋了show(),此applet 不能顯示 } /** Applet必須有一個公共的無參數構造方法 *@throws java.lang.IllegalArgumentException */ public JavadocDemo(){ if(new java.util.Date().getDay()==0){ throw new IllegalArgumentException("Never on a Sunday"); } } }