斌斌 (给我写信)
原创博文(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. jQuery 如何写插件 - 第一步

    这篇文章引自iteye,是老帖子了~~ 国外优秀的文也有,今天就看这位仁兄的吧,写的很到位啊,通俗易懂. jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相 ...

  2. Xcode GDB 命令list

    此文下半部分为转载:但是这里有一些我自己使用技巧,结合下面的文章,我们会有更多的收获,在此感谢原创者.     --------------------- 关于调试异常崩溃: 一般崩溃是由内存使用错误 ...

  3. maven打包成第三方jar包且把pom依赖包打入进来

    <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId& ...

  4. MySQL 分区表各个分区的行数

    分区的信息是记录在information_schema.partitions 这个表里的.它不能直接定位行所在的分区,但它可查到每个分区中有多少行. 例子: select partition_name ...

  5. Qt保证只有一个实例(将CreateMutex得到的handle通过转换得到值)

    使用CreateMutex 可以实现只启动一个应用程序实例 view plaincopy to clipboardprint?#include <QApplication>#include ...

  6. .NET(C#):觉察XML反序列化中的未知节点

    原文 www.cnblogs.com/mgen/archive/2011/12/12/2284554.html 众所周知XML是可以扩展的,XML的元素可以靠名称识别而不是只按照未知识别.在 XML反 ...

  7. delphi调用外部程序打开文件

    delphi调用外部程序打开文件 ShellExecute的各种用法 一.利用系统默认的邮件收发器发送电子邮件 Uses ..., ShellAPI; Var lpHwnd: HWND; lpOper ...

  8. PHPRPC for PHP

    14的路 PHPRPC for PHP PHPRPC 是一个轻型的.安全的.跨网际的.跨语言的.跨平台的.跨环境的.跨域的.支持复杂对象传输的.支持引用参数传递的.支持内容输出重定向的.支持分级错误处 ...

  9. ubuntu之iptables

    1.更新iptables并立即生效: a.保存当前设置:iptables-save > /etc/iptables.up.rules b.修改iptables规则: 例如: -I INPUT - ...

  10. iOS面试题05-父子控制器、内存管理

    内存管理.父子控制器面试题 1.建立父子关系控制器有什么用 回答:1>监听屏幕选中 2>如果想拿到你当前的很小的一个控制器所在的导航控制器必须要跟外面比较大的控制器建立父子关系,才能一层一 ...