Java 文档注释

最后编辑于2019-07-12 22:33:33 +0800 CST

Java 文档注释

Java 支持三种注释方式。前两种分别是 // 和 /* /,第三种被称作说明注释,它以 /* 开始,以 */结束。 说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。 说明注释,使你更加方便的记录你的程序信息。

javadoc 标签

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 标签,可以将它们一个接一个的放在一起。 下面是一个类的说明注释的实例:

/*** 这个类绘制一个条形图

  • @author runoob
  • @version 1.2 */

javadoc 输出什么

javadoc 工具将你 Java 程序的源代码作为输入,输出一些包含你程序注释的HTML文件。 每一个类的信息将在独自的HTML文件里。javadoc 也可以输出继承的树形结构和索引。 由于 javadoc 的实现不同,工作也可能不同,你需要检查你的 Java 开发系统的版本等细节,选择合适的 Javadoc 版本。

实例

下面是一个使用说明注释的简单实例。注意每一个注释都在它描述的项目的前面。 在经过 javadoc 处理之后,SquareNum 类的注释将在 SquareNum.html 中找到。

SquareNum.java 文件代码:

import java.io.*;

/**

  • 这个类演示了文档注释
  • @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 $