Java只是三种注释方式。前两种分别是// 和/* */,第三种被称做说明注释,它以/** 开始,以 */结束。css
说明注释容许你在程序中嵌入关于程序的信息。你可使用javadoc工具软件来生成信息,并输出到HTML文件中。html
说明注释,使你更加方便的记录你的程序的信息。java
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 |
在开始的/**以后,第一行或几行是关于类、变量和方法的主要描述.字体
以后,你能够包含一个或多个何种各样的@标签。每个@标签必须在一个新行的开始或者在一行的开始紧跟星号(*).ui
多个相同类型的标签应该放成一组。例如,若是你有三个@see标签,能够将它们一个接一个的放在一块儿。orm
下面是一个类的说明注释的示例:htm
/*** 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 $