|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。创立 Javadoc正文由Javadoc标签和形貌性文本构成,你能够为类、接口增加正文,也可为机关函数、值域、办法等类中的元素增加正文。我们来看一个带Javadoc正文的程序,其代码以下所示:
代码清单1Person.java
1.packagejavadoc;
2.importjava.io.Serializable;
3./**
4.*<pre>形貌人对象,具有两个属性,分离是名字和性别。</pre>
5.*@seejavadoc.tool.Car
6.*@version1.0,2005-04-12
7.*@author陈雄华
8.*@sinceJDK1.3
9.*/
10.publicclassPersonimplementsSerializable
11.{
12. /**男性,值为{@value}*/
13. publicstaticfinalintMALE=1;
14. /**女性,值为{@value}*/
15. publicstaticfinalintFEMALE=2;
16. /**名字*/
17. protectedStringname;
18. /**岁数*/
19. protectedintsex;
20. /**
21. *机关一个Person实例。设定Person的名字和性别。
22. *
23. *@paramnameString名字
24. *@paramsexint性别,无效值是{@link#MALE男性}和{@link#FEMALE}
25. *@throwsPersonArgumentException
26. *@seejavadoc.tool.Car#drive(int)
27. */
28. publicPerson(Stringname,intsex)throwsPersonArgumentException
29. {
30. if(sex!=MALE&&sex!=FEMALE)
31. thrownewPersonArgumentException("参数不准确");
32. this.name=name;
33. this.sex=sex;
34. }
35. /**
36. *猎取性别代号。
37. *@returnint
38. *@seeMALE
39. *@seeFEMALE
40. */
41. publicintgetSex()
42. {
43. returnsex;
44. }
45. /**
46. *设置性别
47. *@paramsexint
48. */
49. publicvoidsetSex(intsex)
50. {
51. this.sex=sex;
52. }
53.}
一切的Javadoc正文以/**入手下手,以*/停止,每一个正文包括一些形貌性的文本及多少个Javadoc标签。形貌性的文本不仅能够用立体文本,还可使用HTML文本;Javadoc标签一样平常以"@"为前缀,有的也以"{@"为前缀,以"}"停止,如{@value}。
第3~9行是类的正文,它位于类界说代码行前,个中第3行中的<pre></pre>标签是HTML标签,而第4~7行是Javadoc标签,这段正文映照在Javadoc文档中的显现款式以下图所示:
类正文
第12、14行是常量的正文,位于常量界说代码行之前,{@value}暗示将常量的值输入到Javadoc文档中,第16、18是成员变量的正文。成员常量和变量统称为值域,它们在一同显现:
成员常量/变量正文择要
除正文择要之外,每一个成员值域都有本人自力的具体正文。
第20~27是类机关函数的正文,机关函数有两句形貌信息,第一句是"机关一个Person实例。"第二句是"设定Person的名字和性别。",在机关函数的择要列表中仅会显现第一句形貌信息,用"。"分开每句形貌信息。而在机关函数的具体申明部分,则会显现一切的形貌信息。这个准绳一样合适于变量、办法的择要,请看上面Javadoc匡助文档中关于办法择要及办法具体申明,如6-6,6-7所示:
办法择要
机关函数具体形貌
机关函数的Javadoc标签对照多,@param为办法进参的申明,@throws为办法抛出非常的申明,<@link>标签将在Javadoc文档中供应一个链接到文档中别的部分的URL。
第35~40、45~48为办法的正文,@return为办法前往范例的申明,后面我们已提到Javadoc文档包括了一个办法择要列表,每一个办法还对应一个具体形貌部分,如getSex()的具体形貌以下:
getSex()办法的具体申明
经由过程这个实例的形貌,我们对Javadoc的标签和编写有了大抵的懂得。正文一样平常置于须正文元素的后面,如类的正文位于publicclassXxx类声明朝码的后面,而值域的正文位于publicintxxx后面。为了编写幽美的Javadoc文档,你不仅必要把握复杂的HTML编写常识,更必要懂得Javadoc标签的常识。
分歧版本的JDK所撑持的Javadoc标签是纷歧样的,别的还能够按标签合用的中央分红分歧范例,如只合用于办法的@return标签,我们称之为办法标签,只合用于变量的@serial标签,我们称之为值域标签,以此类推。常常一个标签合用于多种中央,下表对经常使用Javadoc标签举行申明:
表2?1javadoc标签申明
标签申明JDK1.1doclet尺度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}{@valuearg}几个不经常使用的标签,因为不常利用,我们睁开叙说,感乐趣的读者能够经由过程http://www.java.sun.com/j2se/javadoc检察它们具体的匡助信息。
上面我们对表中所列的几个不简单了解的Javadoc标签举例申明。
*@see
能够经由过程这个标签在以后点链接到某个类、值域或办法的申明上。为了链接到以后类的值域或办法上,在值域和办法名前必需带一个#号,如:
@see#getSex()
@see#MALE
也能够经由过程这个标签链接到别的类的办法、值域的申明处,假定我们创立一个称为javadoc的工程,在这个工程包含了代码清单1的javadoc.Person.java文件,如今我们在工程中再增加一个javadoc.tool.Car类,其程序代码以下所示:
1.packagejavadoc.tool;
2.
3./**
4.*<pre>汽车对象类。</pre>
5.*@version1.0,2005-04-12
6.*@author陈雄华
7.*@sinceJDK1.3
8.*/
9.publicclassCar
10.{
11. publicCar()
12. {
13. }
14. /**
15. *按某一偏向驾驶汽车
16. *@paramdirectionint办法
17. *@paramspeedint速率
18. */
19. publicvoiddrive(intdirection,intspeed)
20. {
21. /*dosth*/
22. }
23. /**
24. *朝前驾驶汽车
25. *@paramspeedint速率
26. */
27. publicvoiddrive(intspeed)
28. {
29. /*dosth*/
30. }
31.}
假如Person类和Car类有干系,我们就但愿在Person的Javadoc文档中给出一个拜见的Car文档的链接,以便开辟职员可以顺藤摸瓜找到有接洽的Car类的申明文档。要到达这一目标能够在Person类的正文中给出一个@see的标签。
1./**
2.*<pre>形貌人对象,具有两个属性,分离是名字和性别。</pre>
3.*@seejavadoc.tool.Car
4.*@version1.0,2005-04-12
5.*@author陈雄华
6.*@sinceJDK1.3
7.*/
请看第3行的@see标签,由于Car和Person类不在统一个包中,以是必需指定类的全名,固然,假如Person.java已经由过程importchapter19.tool.Car;引进Car类,则@see能够间接用利用不带包的类名:@seeCar。以是Javadoc中的@see援用正文和在Java代码中援用类是类似的。
一个更出格的使用场所是从以后文档中链接到重载办法,如Car中有两个drive()的重载办法,怎样经由过程@see链接到分歧的重载办法和正文中往呢?由于仅经由过程办法名没法定位,以是在办法名内里还必要指定进参的范例,请看上面的例子:
・@seejavadoc.tool.Car#drive(int,int):链接到drive(intdirection,intspeed)。
・@seejavadoc.tool.Car#drive(int):链接到drive(intspeed)。
假如正文指定不准确,@see部分的正文将不呈现在Javadoc文档中。
*@link
@link的@see很类似,独一分歧的是它能够嵌套在正文的形貌文本中,在天生Javadoc文档时转换成一个联系关系链接。如Person的机关函数的正文中的@link:
1./**
2.*机关一个Person实例。设定Person的名字和性别。
3.*
4.*@paramnameString名字
5.*@paramsexint性别,无效值是{@link#MALE}和{@link#FEMALE}
6.*@throwsPersonArgumentException
7.*@seejavadoc.tool.Car#drive(int)
8.*/
带{}的Javadoc标签象一个变量,在转换成文档后,将交换成一个详细的值或链接。
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架? |
|