JBuilder2005创建开发文档之标签介绍

创建

  Javadoc注释由Javadoc标签和描述性文本组成,你可以为类、接口添加注释,也可为构造函数、值域、方法等类中的元素添加注释。我们来看一个带Javadoc注释的程序,其代码如下所示:

  代码清单 1 Person.java

1. package javadoc;
2. import java.io.Serializable;
3. /**
4. * <pre>描述人对象,拥有两个属性,分别是名字和性别。</pre>
5. * @see javadoc.tool.Car
6. * @version 1.0, 2005-04-12
7. * @author 陈雄华
8. * @since JDK1.3
9. */

10. public class Person implements Serializable
11. {
12.  /**男性,值为{@value}*/
13.  public static final int MALE = 1;
14.  /**女性,值为{@value}*/
15.  public static final int FEMALE = 2;
16.  /**名字*/
17.  protected String name;
18.  /**年龄*/
19.  protected int sex;
20.  /**
21.  * 构造一个Person实例。设定Person的名字和性别。
22.  *
23.  * @param name String 名字
24.  * @param sex int 性别,有效值是{@link #MALE 男性}和{@link #FEMALE}
25.  * @throws PersonArgumentException
26.  * @see javadoc.tool.Car#drive(int)
27.  */

28.  public Person(String name ,int sex) throws PersonArgumentException
29.  {
30.   if(sex != MALE && sex != FEMALE)
31.    throw new PersonArgumentException("参数不正确");
32.    this.name = name;
33.    this.sex = sex;
34.  }
35.  /**
36.  * 获取性别代号。
37.  * @return int
38.  * @see MALE
39.  * @see FEMALE
40.  */

41.  public int getSex()
42.  {
43.   return sex;
44.  }
45.  /**
46.  * 设置性别
47.  * @param sex int
48.  */

49.  public void setSex(int sex)
50.  {
51.   this.sex = sex;
52.  }
53. }

  所有的Javadoc注释以/**开始,以*/结束,每个注释包含一些描述性的文本及若干个Javadoc标签。描述性的文本不但可以用平面文本,还可以使用HTML文本;Javadoc标签一般以"@"为前缀,有的也以"{@"为前缀,以"}"结束,如{@value }。

  第3~9行是类的注释,它位于类定义代码行前,其中第3行中的<pre></pre>标签是HTML标签,而第4~7行是Javadoc标签,这段注释映射在Javadoc文档中的显示样式如下图所示:

开发文档之标签介绍-jbuilder2005">
图 4 类注释
  第12、14行是常量的注释,位于常量定义代码行之前,{@value}表示将常量的值输出到Javadoc文档中,第16、18是成员变量的注释。成员常量和变量统称为值域,它们在一起显示:


图 5 成员常量/变量注释摘要
  除注释摘要以外,每个成员值域都有自己独立的详细注释。

  第20~27是类构造函数的注释,构造函数有两句描述信息,第一句是"构造一个Person实例。"第二句是"设定Person的名字和性别。",在构造函数的摘要列表中仅会显示第一句描述信息,用"。"分隔每句描述信息。而在构造函数的详细说明部分,则会显示所有的描述信息。这个原则同样适合于变量、方法的摘要,请看下面Javadoc帮助文档中关于方法摘要及方法详细说明,如图26-6,图26-7所示:


图 6 方法摘要

图 7 构造函数详细描述
  构造函数的Javadoc标签比较多,@param为方法入参的说明,@throws为方法抛出异常的说明,<@link>标签将在Javadoc文档中提供一个链接到文档中其它部分的URL。

  第35~40、45~48为方法的注释,@return为方法返回类型的说明,前面我们已经提到Javadoc文档包含了一个方法摘要列表,每个方法还对应一个详细描述部分,如getSex()的详细描述如下:


图 8 getSex()方法的详细说明
  通过这个实例的描述,我们对Javadoc的标签和编写有了大致的了解。注释一般置于须注释元素的前面,如类的注释位于public class Xxx类声明代码的前面,而值域的注释位于public int xxx前面。为了编写优美的Javadoc文档,你不但需要掌握简单的HTML编写知识,更需要了解Javadoc标签的知识。

  不同版本的JDK所支持的Javadoc标签是不一样的,此外还可以按标签适用的地方分成不同类型,如只适用于方法的@return标签,我们称之为方法标签,只适用于变量的@serial标签,我们称之为值域标签,以此类推。往往一个标签适用于多种地方,下表对常用Javadoc标签进行说明:

  表 2?1 javadoc标签说明

标签 说明 JDK 1.1 doclet 标准doclet 标签类型
@author 作者 作者标识 包、 类、接口
@version 版本号 版本号 包、 类、接口
@param 参数名 描述 方法的入参名及描述信息,如入参有特别要求,可在此注释。 构造函数、 方法
@return 描述 对函数返回值的注释 方法
@deprecated 过期文本 标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API。 包、类、接口、值域、构造函数、 方法
@throws异常类名 构造函数或方法所会抛出的异常。   构造函数、 方法
@exception 异常类名 同@throws。 构造函数、 方法
@see 引用 查看相关内容,如类、方法、变量等。 包、类、接口、值域、构造函数、 方法
@since 描述文本 API在什么程序的什么版本后开发支持。 包、类、接口、值域、构造函数、 方法
{@link包.类#成员 标签} 链接到某个特定的成员对应的文档中。   包、类、接口、值域、构造函数、 方法
{@value} 当对常量进行注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值。   √(JDK1.4) 静态值域

  此外还有@serial、@serialField、@serialData、{@docRoot}、{@inheritDoc}、{@literal}、{@code} {@value arg}几个不常用的标签,由于不常使用,我们展开叙述,感兴趣的读者可以通过http://www.java.sun.com/j2se/javadoc查看它们详细的帮助信息。

  下面我们对表中所列的几个不容易理解的Javadoc标签举例说明。

  * @see

  可以通过这个标签在当前点链接到某个类、值域或方法的说明上。为了链接到当前类的值域或方法上,在值域和方法名前必须带一个#号,如:

@see #getSex()
@see #MALE

  也可以通过这个标签链接到其它类的方法、值域的说明处,假设我们创建一个称为javadoc的工程,在这个工程包括了代码清单 1的javadoc.Person.java文件,现在我们在工程中再添加一个javadoc.tool.Car类,其程序代码如下所示:

1. package javadoc.tool;
2.
3. /**
4. * <pre>汽车对象类。</pre>
5. * @version 1.0, 2005-04-12
6. * @author 陈雄华
7. * @since JDK1.3
8. */
9. public class Car
10. {
11.  public Car()
12.  {
13.  }
14.  /**
15.  * 按某一方向驾驶汽车
16.  * @param direction int 方法
17.  * @param speed int 速度
18.  */
19.  public void drive(int direction,int speed)
20.  {
21.   /*do sth*/
22.  }
23.  /**
24.  * 朝前驾驶汽车
25.  * @param speed int 速度
26.  */
27.  public void drive(int speed)
28.  {
29.   /*do sth*/
30.  }
31. }

  如果Person类和Car类有关系,我们就希望在Person的Javadoc文档中给出一个参见的Car文档的链接,以便开发人员能够顺藤摸瓜找到有联系的Car类的说明文档。要达到这一目的可以在Person类的注释中给出一个@see的标签。

1. /**
2. * <pre>描述人对象,拥有两个属性,分别是名字和性别。</pre>
3. * @see javadoc.tool.Car
4. * @version 1.0, 2005-04-12
5. * @author 陈雄华
6. * @since JDK1.3
7. */

  请看第3行的@see标签,因为Car和Person类不在同一个包中,所以必须指定类的全名,当然,如果Person.java已经通过import chapter19.tool.Car;引入Car类,则@see可以直接用使用不带包的类名:@see Car。所以Javadoc中的@see引用注释和在Java代码中引用类是相似的。

  一个更特别的应用场合是从当前文档中链接到重载方法,如Car中有两个drive()的重载方法,如何通过@see链接到不同的重载方法和注释中去呢?因为仅通过方法名无法定位,所以在方法名里面还需要指定入参的类型,请看下面的例子:

  ·@see javadoc.tool.Car#drive(int,int):链接到drive(int direction,int speed)。

  ·@see javadoc.tool.Car#drive(int):链接到drive(int speed)。

  如果注释指定不正确,@see部分的注释将不出现在Javadoc文档中。

  * @link

  @link的@see很相似,唯一不同的是它可以嵌套在注释的描述文本中,在生成Javadoc文档时转换成一个关联链接。如Person的构造函数的注释中的@link:

1. /**
2. * 构造一个Person实例。设定Person的名字和性别。
3. *
4. * @param name String 名字
5. * @param sex int 性别,有效值是{@link #MALE }和{@link #FEMALE}
6. * @throws PersonArgumentException
7. * @see javadoc.tool.Car#drive(int)
8. */

  带{}的Javadoc标签象一个变量,在转换成文档后,将替换成一个具体的值或链接。

时间: 2024-12-23 14:25:39

JBuilder2005创建开发文档之标签介绍的相关文章

JBuilder2005创建开发文档之编写注释

创建 可以通过代码模板快速的录入Javadoc注释,你也可以选择通过Javadoc对话框以一种形象化的方式录入Javadoc注释.此外,JBuilder还提供了各种Javadoc的辅助功能,如JavadocInsight诱导录入,冲突报告和更正,特殊的todo标签等. 1.Javadoc对话框 在编辑器中,将光标放在类.方法.值域等元素定义处右击,在弹出的菜单中选择Add->Javadoc for XXX将调出Javadoc对话框.打开Person.java文件,将光标移到构造函数中,依照上述操

JBuilder2005创建开发文档之Javadoc

ado|创建 虽然软件工程中把详细设计作为软件项目的一个重要的阶段,但在实践中往往没有得到落实.并不是这个阶段不重要,而是实施有很大的困难,因为软件需求是天生的易动症患者,好不容易详细设计出来后,需求已和当初的版本大相径庭,而花费巨大,精雕细琢的详细设计已变成昨日黄花了.另一方面,有一些功能实现往往要等到真正编码时才能想到更好的方法,毕竟设计时是"凭空想象",而编码时才是"实践操作",所以在编码时对原设计进行调整常常在所难免. 详细设计文档是源代码实现上的描述,但在

JBuilder2005创建开发文档之创建文档

虽然在Java文件中编写注释后,马上可以切换到内容窗格的Doc视图页代码中对应的Javadoc文档,但在Doc视图页中生成的文档仅是不完整的"范本".首先,没有导航树,其次没有生成通过@see或@link关联内容的链接.所以你可以把Doc视图页中的Javadoc文档看成是Javadoc最终版本的预览. 要为工程产生完整的Javadoc文档,必须通过Javadoc向导,在这节里,我们用Javadoc向导为javadoc工程创建完整的Javadoc文档. 1.File->New...

PHPCMS开发文档里看到PHP编码规范

注:这是从PHPCMS开发文档里看到编码规范,虽名为PHPCMS的开发规范,但我觉得所有的PHP编程都该如此.写了那么多PHP,很多编码对照这规范都感觉欠缺很多,今后一定要对照纠正. Phpcms 编码规范 1. 引言-. 2 2. 适用范围-. 2 3. 标准化的重要性和好处-. 3 4. PHP编码规范与原则-. 3 4.1. 代码标记- 3 4.2. 注释- 3 4.3. 书写规则- 4 4.3.1. 缩进- 4 4.3.2. 大括号{}.if和switch. 4 4.3.3. 运算符.小

ShopEx设置setting for ShopEx开发文档

系统结构 以下文档均以最新的shopex 4.8.5 为准. 程序为mvc 3层结构.模型-视图-控制器. 模型是前后台公用.完成业务逻辑,所有的数据库操作,文件等资源调用,都由此层实现. 控制器则是前后台独立.负责业务模型的调用,拼接,变量的转换等等. 视图层采用类似smarty的实现. 在任何时候都有一个全局变量$system指向唯一的一个内核类:core/kernel.php 结构图 公共类图 公共函数库位于/core/func_ext.php,它在内核加载时首先被加载,对全系统有效.其中

软件开发文档范例

在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性.精确性.清晰性.完整性.灵活性.可追溯性.接下来将是十三种文档的介绍(文档模板请下载附件) 1.可行性分析报告:   说明该软件开发项目的实现在技术上.经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由.  2.项目开发计划:       为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员.开发的进度.开发经费的预算.所需的硬件及软件资源等.  3.软件

beyondadmin-有没有BeyondAdmin的开发文档?

问题描述 有没有BeyondAdmin的开发文档? 网上找了半天都是只有介绍没有开发文档,比如控件有哪些属性,数据怎么绑定,js怎么操作,api之类的都没有,哪里能找到? 解决方案 没有的,如果你购买正版的,官方会发一份说明文档到你的邮箱.

php开发文档 会员收费1期_php实例

介绍 最新项目--会员收费,目的是要以更好的展现形式表现给用户,以及添加了新功能(会员机制). 索引 流程图 1> 展示界面 2> 获取折扣价格 接口说明 http请求脚本(curl或socket) 测试数据 流程图 其中里面的demo:是通过url进行展现,里面的mst是参数,通过不同的参数进行展现.如:http://www.demo.com/?mst=1表示参数为1的demo样式. 展示界面(4种情况)开发文档 会员收费1期_php实例-软件开发设计文档实例">获取折扣价格

android开发文档中有一个关于录音的类MediaRecord

android开发文档中有一个关于录音的类MediaRecord,一张图介绍了基本的流程: 给出了一个常用的例子: [java] view plaincopy MediaRecorder recorder = new MediaRecorder();    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)