斌斌 (给我写信)
原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处

java凝视

java里面有两种类型的凝视。一种是以“/*”起头,以“*/”结尾。并能够跨越多行的凝视。例如以下:

/*
* 这是一段凝视。
* 它跨越了多行
*/

还有一种是以“//”开头的凝视。也叫单行凝视,格式例如以下:

// 这是一个单行凝视

凝视文档

注:本节内容摘自java编程思想第四版2.8.1凝视文档章节

对于java语言,最体贴的一项设计就是人们也须要考虑程序的文档化问题。

而对程序的文档化。最大的问题莫过于对文档的维护。若文档与代码分离。那么每次改变代码后都要改变文档,这无疑会变成相当麻烦的一件事情。解决办法看起来似乎非常easy:将代码同文档“链接”起来。为达到这个目的,最简单的方法是将全部内容都置于同一个文件。然而,为使一切都整齐划一,还必须使用一种特殊的凝视语法,以便标记出特殊的文档;另外还须要一个工具,用于提取这些凝视,并按有价值的形式将其展现出来。这些都是Java必须做到的。

用于提取凝视的工具叫作javadoc。它採用了部分来自Java编译器的技术。查找我们置入程序的特殊凝视标记。

它不仅提取由这些标记指示的信息,也将毗邻凝视的类名或方法名提取出来。

这样一来,我们就可用最轻的工作量,生成十分专业的程序文档。

javadoc输出的是一个HTML文件,可用自己的Web浏览器查看。该工具同意我们创建和管理单个源文件,并生动生成实用的文档。因为有了javadoc。所以我们可以用标准的方法创建文档。并且因为它很方便,所以我们能轻松获得全部Java库的文档。

javadoc案例

【实验环境】

MyEclipse 10.0 + jdk 1.6.0_13

【实验步骤】

一、新建一个java项目doc。

二、新建一个java文件org.hbin.JavaDocTest.java。并加入类凝视。例如以下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmluYmlueHl6/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

三、在命令行工具中打开该项目src所在路径,使用javadoc命令导出java文档凝视。

命令例如以下:

> javadoc org/hbin/JavaDocTest.java

执行效果例如以下图:

刷新项目。生成的文档文件夹结构例如以下:

此时。文档与源代码混在一起。不便于管理维护。能够加入-d參数来指定输出文件的目标文件夹。

命令例如以下:

> javadoc -d ../doc org/hbin/JavaDocTest.java

例如以下图:



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmluYmlueHl6/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

此时。打开项目中doc文件夹下的index.html文件就可以看到我们刚刚生成的文档结构。例如以下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmluYmlueHl6/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

四、參考以上三个步骤,你已经能够生成自己的凝视文档了。但假设你的凝视中包括中文或其它非英文字符,那么它可能会乱码的。此时。能够通过-charset和-encoding參数来指定编码。-charset參数指定查看生成html的编码,即在html文档中加入<META http-equiv="Content-Type" content="text/html; charset=UTF-8">。而-encoding參数指定源文件编码。

命令例如以下:

> javadoc -charset UTF-8 -encoding UTF-8 -d ../doc org/hbin/JavaDocTest.java

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmluYmlueHl6/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

版权声明:本文博主原创文章,博客,未经同意不得转载。

javadoc入门的更多相关文章

  1. DWR实现后台推送消息到web页面

    DWR简介 DWR(Direct Web Remoting)可用于实现javascript直接调用java函数和后台直接调用页面javascript代码,后者可用作服务端推送消息到Web前端. (服务 ...

  2. 【Java从入门到精通】day08-包机制-JavaDoc生成文档

    1.包机制 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间. 包语句的语法格式为: package pkg1[.pkg2[.pkg3...]]; 一般利用公司域名倒置作为包名(如www ...

  3. SpringMVC 入门

    MVC 简介 1.MVC 是一种架构模式 程序分层,分工合作,既相互独立,又协同工作,分为三层:模型层.视图层和控制层 2.MVC 是一种思考方式 View:视图层,为用户提供UI,重点关注数据的呈现 ...

  4. java安全管理器SecurityManager入门

    table { margin-left: 30px; width: 95%; border: 1px; border-collapse: collapse } img { border: 1px so ...

  5. Flume NG Getting Started(Flume NG 新手入门指南)

    Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...

  6. Apache Shiro系列三,概述 —— 10分钟入门

     一.介绍 看完这个10分钟入门之后,你就知道如何在你的应用程序中引入和使用Shiro.以后你再在自己的应用程序中使用Shiro,也应该可以在10分钟内搞定. 二.概述 关于Shiro的废话就不多说了 ...

  7. Quartz2之入门示例【转】

    原文地址:http://liuzidong.iteye.com/blog/1118992 环境:XP+Myeclipse6.5+JDK1.6 quartz官网:http://www.quartz-sc ...

  8. Eclipse_luna_J2EE_For_JS+tomcat8.0环境搭建、配置、开发入门

    一.所有需要的软件.插件等下载地址 J2SE的官方下载路径:http://www.oracle.com/technetwork/java/javase/downloads/index.html Ecl ...

  9. SpringMVC从入门到精通之第四章

    第一个知识点:@Controller注解,用于标识这个类是一个后端控制器(类似struts中的action),主要作用就是接受页面的参数,转发页面.中间的业务逻辑是调用业务类处理的这个就是MVC设计模 ...

随机推荐

  1. C++中的unordered_map

    1.简介 随着C++0x标准的确立,C++的标准库中也终于有了hash table这个东西.很久以来,STL中都只提供<map>作为存放对应关系的容器,内部通常用红黑树实现,据说原因是二叉 ...

  2. String的构造函数、析构函数和赋值函数

    编写类String的构造函数.析构函数和赋值函数 已知类String的原型为: class String { public: String(const char *str = NULL); // 普通 ...

  3. html 转 js 字符串

    看到一个牛人的博客  http://riny.net/lab/#tools_html2js 看了下他的代码  挺棒的 所依赖的两个库在这里 https://github.com/Bubblings/l ...

  4. ElaticSearch网站

    http://www.tuicool.com/articles/r2QJVr http://so.searchtech.pro/articles/2013/06/16/1371392427213.ht ...

  5. BZOJ 1101 [POI2007]Zap(莫比乌斯反演)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1101 [题目大意] 求[1,n][1,m]内gcd=k的情况 [题解] 考虑求[1,n ...

  6. HDU 3362 Fix

    题目大意:题目给出n(n <= 18)个点的二维坐标,并说明某些点是被固定了的,其余则没固定,要求添加一些边,使得还没被固定的点变成固定的,当一个没固定的点和两个固定了的点连接后,该点就被间接固 ...

  7. Android Animation动画(很详细)

    Android Animation   Contents: Animations Tween Animations AnimationSet Interpolator Frame-By-Frame A ...

  8. objective-C学习笔记(十)协议

    协议 Protocol 协议是类的合同约定,只描述外部接口,不提供具体实现.所以,协议其实可以写在类的.h文件中,不去实现就可以了. 协议可以包含以下成员: 属性 (编译器不会和普通interface ...

  9. DevOps探索

    devops最近随着docker的升温而被越来越多的人所吸引!最近因项目所需投身到devops的项目当中,经过初步的实践搞出一套 paas平台的devops,这个平台现在还需要检验! 作为一个dev, ...

  10. XML读写文件辅助类

    /// <summary> /// 历史下载记录xml文件操作 /// </summary> public class XMLHelper { private string x ...