《Thinking in Java》读书笔记(二)——Javadoc

Javadoc怎么用?

(中文书P33英文书P82有概念的简单介绍)

 

Javadoc 解析 Java 源文件中的声明和文档注释,并产生相应的 HTML 页(缺省),描述公有类、保护类、内部类、接口、构造函数、方法和域。

可对 整个包、单个源文件 二者 运行 Javadoc。在第一种情况中,将一系列包名作为参数传递给 javadoc。在第二种情况中,传递一系列源(.java)文件名。

在实现时,Javadoc 要求且依赖于 java 编译器完成其工作。Javadoc 调用部分 javac 编译声明部分,忽略成员实现。它建立类的内容丰富的内部表示,包括类层次和使用关系,然后从中生成 HTMLJavadoc 还从源代码的文档注释中获得用户提供的文档。

实际上,Javadoc 将在不带方法体的纯 stub 文件的 .java 源文件上运行。这意味着可以在创建 API 的最早期阶段,在编写任何代码之前,就可编写文档注释并运行 Javadoc

完全对应于实际的实现,这些实现可能有赖于隐式的(而非显式的)源代码。例如,Javadoc 将建立在 .class 文件中存在但在源代码中不存在的缺省构造函数的文档。

Javadoc 建立其内部文档结构时,它将加载所有引用的类。由于这一点,Javadoc 必须能查找到所有引用的类,包括引导类、扩展类和用户类。一般而言,所创建的类必须加载为扩展或位于 Javadoc 的类路径中。

 

下面看个示例来认识如何使用Javadoc

 

可以对整个包或单个类运行 javadoc。每个包名有一个相应的目录名。在下面的示例中,源文件位于 /home/src/java/awt/*java。目的目录是 /home/html

建立包的文档

要建立包的文档,该包的源文件(*.java)必须位于一个与该包名字相同的目录中。如果包名由几个标识符组成(用点号分隔),则每个标识符代表一个不同的目录。因而,所有 java.awt 类必须位于名为 java/awt/ 的目录中。可用如下两种方式之一运行 javadoc -- 通过改变目录(用 cd)或使用 sourcepath 选项。不能使用通配符指定多个包。

  • 情况 1- 改变包目录 - 改变全限定包的父目录。然后运行 run javadoc,并提供想要建立其文档的一个或多个包的名字:
  •   % cd /home/src/
  •   % javadoc -d /home/html java.awt java.awt.event
  • 情况 2 - 从任何目录 - 在这种情况下,当前目录是什么没有关系。运行 javadoc 时用 sourcepath 提供全限定包的父目录,并提供想要建立其文档的一个或多个包的名字:
  •   % javadoc -d /home/html -sourcepath /home/src java.awt java.awt.event

这两种情况都将产生包 java.awt java.awt.event 中公共和保护类和接口的 HTML 格式文档,并将 HTML 文件保存在指定目的目录(/home/html)中。因为要生成两个或多个包,所以文档具有三个框架 -- 包列表、类列表和主页。

建立类的文档

要建立一个或多个源文件(.java)的文档,这些文件不必位于特定目录中。可以用如下两种方式之一运行 javadoc -- 通过改变目录(用 cd)或完全指定 .java 文件的路径。选项 -sourcepath 在建立源文件的文档时没有作用。可使用命令行通配符,例如星号(*),指定多个类。

  • 情况 1 - 换到源目录 - 换到保存 .java 文件的目录。然后运行 javadoc,并提供想要建立其文档的一个或多个源文件名。
  •   % cd /home/src/java/awt
  •   % javadoc -d /home/html Button.java Canvas.java Graphics*.java

该示例产生类 ButtonCanvas 和以 Graphics 开头的类的 HTML 格式文档。因为是源文件而不是包名作为参数传递给 javadoc,所以文档具有两个框架 -- 类列表和主页。

  • 情况 2 - 改变到包的根目录 - 当要为相同根目录下不同子包中的单个源文件建立文档时,这是非常有用的。改变到包的根目录,并提供源文件相对于其根的路径。
  •   % cd /home/src/
  •   % javadoc -d /home/html java/awt/Button.java java/applet/Applet.java

该示例产生类 Button Applet HTML 格式文档。

  • 情况 3 - 从任何目录 - 在这种情况下,当前目录是什么没有关系。运行 javadoc,并提供想要建立其文档的 .java 文件的绝对路径(或相对于当前目录的相对路径)。
  •   % javadoc -d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java

该示例产生类 Button 和以 Graphics 开头的类的 HTML 格式文档。

建立包和类的文档

可同时建立整个包和单个类的文档。下面是一个混合前两个示例的示例。可使用 -sourcepath 指定包的路径但不作为单个类的路径。

  % javadoc -d /home/html -sourcepath /home/src java.awt /home/src/java/applet/Applet.java

该示例生成包 java.awt 和类 Applet HTML 格式文档(Javadoc Applet.java 源文件中的包声明(如果有)中确定 Applet 的包名)。

 

资料来源:http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/javadoc.html

 

虽然资料说得很详细,但是没有亲手写过,还是挺模糊的。这部分书是放假在家时看的,没得做练习,现在回到学校,要把课后的练习做一遍才行。只是又到开学,时间得用挤的了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值