本博文转自 http://www.java3z.com/cwbwebhome/article/article1a/135.html?id=214

我们知道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> 
附源文件: 

 
  
  1. import java.applet.*;  
  2. import java.awt.*;  
  3. import java.awt.event.*;  
  4. /**  
  5.   *JavadocDemo.java,一个显示JavaDoc注释的Applet  
  6.   *<p>注意这只是HelloApplet的一个带注释的版本  
  7.   *@see java.applet.Applet  
  8.   *@see javax.swing.Japplet  
  9.   */  
  10.  
  11.  public class JavadocDemo extends Applet{  
  12.  
  13.    /** init()是一个Applet方法,由浏览器调用进行初始化  
  14.      * 只调用一次  
  15.      * @return 无  
  16.      */  
  17.    public void init(){  
  18.         //创建并添加一个按钮  
  19.         //其它什么也不做  
  20.         Button b;  
  21.         b=new Button("Hello");  
  22.         add(b);  
  23.         show();  
  24.    }  
  25.  
  26.    /** paint() 是一个AWT组件方法,在组件要绘制时调用,只  
  27.      * 是在Applet的窗口中画带色的方框。  
  28.      * 参数 g一个java.awt.Graphics  
  29.      * 用在所有绘制方法中  
  30.      */  
  31.  
  32.    public void paint(Graphics g){  
  33.          int w=getSize().width,h=getSize().height;  
  34.          g.setColor(Color.yellow);  
  35.          g.fillRect(0,0,w/2,h);  
  36.          g.setColor(Color.green);  
  37.          g.fillRect(w/2,0,w,h);  
  38.          g.setColor(Color.black);  
  39.          g.drawString("Welcome to Java",50,50);  
  40.    }  
  41.  
  42.    /** show()用于使组件可见,此方法在  
  43.      * JDK1.1中被归入不推荐使用  
  44.      *@since 1.0  
  45.      *deprecated换用setVisible(true)  
  46.      */  
  47.  
  48.    public void show(){  
  49.         //由于覆盖了show(),此applet 不能显示  
  50.    }  
  51.  
  52.    /** Applet必须有一个公共的无参数构造方法  
  53.      *@throws java.lang.IllegalArgumentException  
  54.      */  
  55.  
  56.    public JavadocDemo(){  
  57.       if(new java.util.Date().getDay()==0){  
  58.             throw new IllegalArgumentException("Never on a Sunday");  
  59.        }  
  60.    }  
  61. }