您的位置:首页 > 编程语言 > Java开发

JAVA注释文档

2008-10-09 17:16 141 查看
语法
  所有javadoc命令都只能出现于“/**”注释中。但和平常一样,注释结束于一个“*/”。主要通过两种方式来使用javadoc:嵌入的 HTML,或使用“文档标记”。其中,“文档标记”(Doc tags)是一些以“@”开头的命令,置于注释行的起始处(但前导的“*”会被忽略)。

  有三种类型的注释文档,它们对应于位于注释后面的元素:类、变量或者方法。也就是说,一个类注释正好位于一个类定义之前;变量注释正好位于变量定义之前;而一个方法定义正好位于一个方法定义的前面。如下面这个简单的例子所示:

/** 一个类注释 */
public class docTest {
/** 一个变量注释 */
public int i;
/** 一个方法注释 */
public void f() {}
}

  注意javadoc只能为public(公共)和protected(受保护)成员处理注释文档。“private”(私有)和 “friendly”(详见5章)成员的注释会被忽略,我们看不到任何输出(也可以用-private标记包括private成员)。这样做是有道理的, 因为只有public和protected成员才可在文件之外使用,这是客户程序员的希望。然而,所有类注释都会包含到输出结果里。

  上述代码的输出是一个HTML文件,它与其他Java文档具有相同的标准格式。因此,用户会非常熟悉这种格式,可在您设计的类中方便地“漫游”。设计程序时,请务必考虑输入上述代码,用javadoc处理一下,观看最终HTML文件的效果如何。

  嵌入HTML

  javadoc将HTML命令传递给最终生成的HTML文档。这便使我们能够充分利用HTML的巨大威力。当然,最终动机是格式化代码,不是为了装点门面。下面是一个嵌入HTML的例子:

/**
*
* System.out.println(new Date());
*


*/[/code]
  亦可象在其他Web文档里那样运用HTML,对普通文本进行格式化,使其更具条理、更加美观:

/**
*您甚至可以插入一个列表:
*
*
项目一
*
项目二
*
项目三
*
可为一系列作者使用多个这样的标记,但它们必须连续放置。全部作者信息会一起存入最终HTML代码的单独一个段落里。[/code]
  变量文档标记

  变量文档只能包括嵌入的HTML以及@see引用。

  方法文档标记

  除嵌入HTML和@see引用之外,方法还允许使用针对参数、返回值以及违例的文档标记。

  1. @param

  格式如下:

  @param 参数名 说明

  其中,“参数名”是指参数列表内的标识符,而“说明”代表一些可延续到后续行内的说明文字。一旦遇到一个新文档标记,就认为前一个说明结束。可使用任意数量的说明,每个参数一个。

  2. @return

  格式如下:

  @return 说明

  其中,“说明”是指返回值的含义。它可延续到后面的行内。

  3. @exception

  简言之,它们是一些特殊的对象,若某个方法失败,就可将它们“扔出”对象。调用一个方法时,尽管只有一个违例对象出现,但一些特殊的方法也许能产生任意数量的、不同类型的违例。所有这些违例都需要说明。所以,违例标记的格式如下:

  @exception 完整类名 说明

  其中,“完整类名”明确指定了一个违例类的名字,它是在其他某个地方定义好的。而“说明”(同样可以延续到下面的行)告诉我们为什么这种特殊类型的违例会在方法调用中出现。

  4. @deprecated

  这是Java 1.1的新特性。该标记用于指出一些旧功能已由改进过的新功能取代。该标记的作用是建议用户不必再使用一种特定的功能,因为未来改版时可能摒弃这一功能。若将一个方法标记为@deprecated,则使用该方法时会收到编译器的警告。

  文档示例

  下面是一段带有注释的Java程序:

//: HelloDate.java
import java.util.*;
/** The first Thinking in Java example program.
* Displays a string and today‘s date.
* @author Bruce Eckel
* @author www.BruceEckel.com
* @version 2.0
*/
public class HelloDate {
/** Sole entry point to class & application
* @param args array of string arguments
* @return No return value
* @exception exceptions No exceptions thrown
*/
public static void main(String[] args) {
System.out.println("Hello, it‘s: ");
System.out.println(new Date());
}
} ///:~

  第一行:“//: HelloDate.java”采用了自定义的方法:将一个“:”作为特殊的记号,指出这是包含了源文件名字的一个注释行。最后一行也用这样的一条注释结 尾,它标志着源代码清单的结束。这样一来,可将代码从正文中方便地提取出来,并用一个编译器检查。

[code]*/

  注意在文档注释中,位于一行最开头的星号会被javadoc丢弃。同时丢弃的还有前导空格。javadoc会对所有内容进行格式化,使其与标准的文档外观相符。不要将<h1>

  --------------------------------------------------------------------------------

  这样的标题当作嵌入HTML使用,因为javadoc会插入自己的标题,我们给出的标题会与之冲撞。

  所有类型的注释文档——类、变量和方法——都支持嵌入HTML。

  @see:引用其他类

  所有三种类型的注释文档都可包含@see标记,它允许我们引用其他类里的文档。对于这个标记,javadoc会生成相应的HTML,将其直接链接到其他文档。格式如下:

  @see 类名

  @see 完整类名

  @see 完整类名#方法名

  每一格式都会在生成的文档里自动加入一个超链接的“See Also”(参见)条目。注意javadoc不会检查我们指定的超链接,不会验证它们是否有效。

  类文档标记

  随同嵌入HTML和@see引用,类文档还可以包括用于版本信息以及作者姓名的标记。类文档亦可用于“接口”目的。

  1. @version

  格式如下:

  @version 版本信息

  其中,“版本信息”代表任何适合作为版本说明的资料。若在javadoc命令行使用了“-version”标记,就会从生成的HTML文档里提取出版本信息。

  2. @author

  格式如下:

  @author 作者信息

  其中,“作者信息”包括您的姓名、电子函件地址或者其他任何适宜的资料。若在javadoc命令行使用了“-author”标记,就会专门从生成的HTML文档里提取出作者信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: