java只是三种注释方式。前两种分别是// 和/* */,第三种被称作说明注释,它以/** 开始,以 */结束。
说明注释允许你在程序中嵌入关于程序的信息。你可以使用javadoc工具软件来生成信息,并输出到html文件中。
说明注释,使你更加方便的记录你的程序的信息。
javadoc工具软件识别以下标签:
标签 | 描述 | 示例 |
---|---|---|
@author | 标识一个类的作者 | @author description |
@deprecated | 指名一个过期的类或成员 | @deprecated description |
{@docroot} | 指明当前文档根目录的路径 | directory path |
@exception | 标志一个类抛出的异常 | @exception exception-name explanation |
{@inheritdoc} | 从直接父类继承的注释 | inherits a comment from the immediate surperclass. |
{@link} | 插入一个到另一个主题的链接 | {@link name text} |
{@linkplain} | 插入一个到另一个主题的链接,但是该链接显示纯文本字体 | inserts an in-line link to another topic. |
@param | 说明一个方法的参数 | @param parameter-name explanation |
@return | 说明返回值类型 | @return explanation |
@see | 指定一个到另一个主题的链接 | @see anchor |
@serial | 说明一个序列化属性 | @serial description |
@serialdata | 说明通过writeobject( ) 和 writeexternal( )方法写的数据 | @serialdata description |
@serialfield | 说明一个objectstreamfield组件 | @serialfield name type description |
@since | 标记当引入一个特定的变化时 | @since release |
@throws | 和 @exception标签一样. | the @throws tag has the same meaning as the @exception tag. |
{@value} | 显示常量的值,该常量必须是static属性。 | displays the value of a constant, which must be a static field. |
@version | 指定类的版本 | @version info |
在开始的/**之后,第一行或几行是关于类、变量和方法的主要描述.
之后,你可以包含一个或多个何种各样的@标签。每一个@标签必须在一个新行的开始或者在一行的开始紧跟星号(*).
多个相同类型的标签应该放成一组。例如,如果你有三个@see标签,可以将它们一个接一个的放在一起。
下面是一个类的说明注释的示例:
/*** this class draws a bar chart.
* @author zara ali
* @version 1.2
*/
javadoc工具将你java程序的源代码作为输入,输出一些包含你程序注释的html文件。
每一个类的信息将在独自的html文件里。javadoc也可以输出继承的树形结构和索引。
由于javadoc的实现不同,工作也可能不同,你需要检查你的java开发系统的版本等细节,选择合适的javadoc版本。
下面是一个使用说明注释的简单实例。注意每一个注释都在它描述的项目的前面。
在经过javadoc处理之后,squarenum类的注释将在squarenum.html中找到。
import java.io.*;
/**
* this class demonstrates documentation comments.
* @author ayan amhed
* @version 1.2
*/
public class squarenum {
/**
* this method returns the square of num.
* this is a multiline description. you can use
* as many lines as you like.
* @param num the value to be squared.
* @return num squared.
*/
public double square(double num) {
return num * num;
}
/**
* this method inputs a number from the user.
* @return the value input as a double.
* @exception ioexception on input error.
* @see ioexception
*/
public double getnumber() throws ioexception {
inputstreamreader isr = new inputstreamreader(system.in);
bufferedreader indata = new bufferedreader(isr);
string str;
str = indata.readline();
return (new double(str)).doublevalue();
}
/**
* this method demonstrates square().
* @param args unused.
* @return nothing.
* @exception ioexception on input error.
* @see ioexception
*/
public static void main(string args[]) throws ioexception
{
squarenum ob = new squarenum();
double val;
system.out.println("enter value to be squared: ");
val = ob.getnumber();
val = ob.square(val);
system.out.println("squared value is " + val);
}
}
如下,使用javadoc工具处理squarenum.java文件:
$ javadoc squarenum.java
loading source file squarenum.java...
constructing javadoc information...
standard doclet version 1.5.0_13
building tree for all the packages and classes...
generating squarenum.html...
squarenum.java:39: warning - @return tag cannot be used\
in method with void return type.
generating package-frame.html...
generating package-summary.html...
generating package-tree.html...
generating constant-values.html...
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 help-doc.html...
generating stylesheet.css...
1 warning
$