Java的文件注释
以下内容引用自http://wiki.jikexueyuan.com/project/java/documentation.html:
Java语言支持三种注释形式:
注释 | 描述 |
---|---|
/*text*/ | 编译器忽略/*到*/的所有东西 |
//text | 编译器忽略从//到一行末尾的所有东西 |
/** documentation */ |
这是文档注释并且通常而言它被叫做doc comment。JDK javadoc工具当准备自动准备生成文件时使用doc comment |
一、什么是Javadoc?
Javadoc是JDK附带的一个工具,它被用来生成从需要预定义格式的文档的Java源代码至HTML格式的Java代码文件。
以下是一个简单的例子,其中红色部分代表Java注释:
/**
* The HelloWorld program implements an application that
* simply displays "Hello World!" to the standard output.
*
* @author Zara Ali
* @version 1.0
* @since 2014-03-31
*/
public class HelloWorld {
public static void main(String[] args) {
// Prints Hello, World! on standard output.
System.out.println("Hello World!");
}
}
可以将需要的HTM 标签包括在描述部分内,比如,下面的例子利用<h1>...</h1>来定义头部和<p>被用来创建段落间隔:
/**
* <h1>Hello, World!</h1>
* The HelloWorld program implements an application that
* simply displays "Hello World!" to the standard output.
* <p>
* Giving proper comments in your program makes it more
* user friendly and it is assumed as a high quality code.
*
*
* @author Zara Ali
* @version 1.0
* @since 2014-03-31
*/
public class HelloWorld {
public static void main(String[] args) {
// Prints Hello, World! on standard output.
System.out.println("Hello World!");
}
}
二、Javadoc标签
Javadoc标签是Javadoc认可的关键字,它定义了下面信息的类型。
Javadoc工具认可下面的标签:
标签 | 描述 | 语法 | ||
---|---|---|---|---|
@author | 添加类的作者 | @author name-text | ||
{@code} | 不把文本转换成HTML标记和嵌套的Java标签而用代码字体展示它 | {@code text} | ||
{@docRoot} | 表示从任何生成页面到生成文档的根目录的相对路径 | {@docRoot} | ||
@deprecated | 添加一个注释暗示API应该不再被使用 | @deprecated deprecated-text | ||
@exception | 用类名和描述文本给生成的文档添加一个副标题 | @exception class-name description | ||
{@inheritDoc} | 从最近的可继承的类或可实现的接口继承注释 | Inherits a comment from the immediate surperclass. | ||
{@link} | 用指向特定的包,类或者一个引用类的成员名的文档的可见文本标签插入在线链接 | {@link package.class#member label} | ||
{@linkplain} | 和{@link}相同,除了链接的标签用纯文本标示而不是代码字体 | {@linkplain package.class#member label} | ||
@param | 给“参数”区域添加一个有特定参数名且后跟着特定描述的参数 | @param parameter-name description | ||
@return | 添加一个有描述文本的“Returns”区域 | @return description | ||
@see | 添加带有链接或者指向引用的文本入口的标题“See Also” | @see reference | ||
@serial | 在默认的序列化字段的文本注释中使用 | @serial field-description | include | exclude |
@serialData | 记录由writeObject( )或writeExternal( )方法所写的数据 | @serialData data-description | ||
@serialField | 记录一个ObjectStreamField成分 | @serialField field-name field-type field-description | ||
@since | 给生成的文档添加一个带有特定since文本的"Since"标题 | @since release | ||
@throws | @throw和@exception标签是同义词 | @throws class-name description | ||
{@value} | 当{@value}被用在一个静态字段的文本注释中,它展示了那个常量的值 | {@value package.class#field} | ||
@version | 当-version选项被使用时用特定的version文本给生成的文本添加一个“Version”副标题 | @version version-text |
示例:
下面的程序使用一些重要的标签来做文档注释。可以基于需求利用其它的标签。
关于AddNum类的文档将由HTML文件AddNum.html创建,但是同时一个名为index.html的主文件也将被创建。
import java.io.*; /**
* <h1>Add Two Numbers!</h1>
* The AddNum program implements an application that
* simply adds two given integer numbers and Prints
* the output on the screen.
* <p>
* <b>Note:</b> Giving proper comments in your program makes it more
* user friendly and it is assumed as a high quality code.
*
* @author Zara Ali
* @version 1.0
* @since 2014-03-31
*/
public class AddNum {
/**
* This method is used to add two integers. This is
* a the simplest form of a class method, just to
* show the usage of various javadoc Tags.
* @param numA This is the first paramter to addNum method
* @param numB This is the second parameter to addNum method
* @return int This returns sum of numA and numB.
*/
public int addNum(int numA, int numB) {
return numA + numB;
} /**
* This is the main method which makes use of addNum method.
* @param args Unused.
* @return Nothing.
* @exception IOException On input error.
* @see IOException
*/
public static void main(String args[]) throws IOException
{ AddNum obj = new AddNum();
int sum = obj.addNum(10, 20); System.out.println("Sum of 10 and 20 is :" + sum);
}
}
现在,处理使用Javadoc的AddNum.java文件:
$ javadoc AddNum.java
Loading source file AddNum.java...
Constructing Javadoc information...
Standard Doclet version 1.7.0_51
Building tree for all the packages and classes...
Generating /AddNum.html...
AddNum.java:36: warning - @return tag cannot be used in method with void return type.
Generating /package-frame.html...
Generating /package-summary.html...
Generating /package-tree.html...
Generating /constant-values.html...
Building index for all the packages and classes...
Generating /overview-tree.html...
Generating /index-all.html...
Generating /deprecated-list.html...
Building index for all classes...
Generating /allclasses-frame.html...
Generating /allclasses-noframe.html...
Generating /index.html...
Generating /help-doc.html...
1 warning
$
如果正在使用JDK 1.7那么Javadoc不生成stysheet.css,所以建议从http://docs.oracle.com/javase/7/docs/api/stylesheet.css下载并使用标准的stylesheet。
Java的文件注释的更多相关文章
- java 统计文件注释个数
参考:https://segmentfault.com/q/1010000012636380/a-1020000012640905 题目:统计文件中//和/* */注释的个数,双引号中的不算 impo ...
- java文档注释--javadoc的用法
1.前言 Java中有三种注释方式.前两种分别是 // 和 /* */,主要用于代码的注释,以此来方便代码的可读性.第三种被称作说明注释或文档注释,它以 /** 开始,以 */结束,文档注释允许你在程 ...
- java之文件基本操作
java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...
- JAVA 文档注释,类的说明,HTML说明文档的生成
有的时候,我们会写一些类,编译成.class文件,给别人使用,那么,别人不知道这个类有哪些方法,如何调用. 所以我们需要做一个类的说明文档. 可以采用在.java类里面进行注释,通过注释来生成类的说明 ...
- java文档注释主要使用方法
一.java包含哪些注释 1.//用于单行注释. 2./*...*/用于多行注释,从/*开始,到*/结束,不能嵌套. 3./**...*/则是为支持jdk工具javadoc.exe而特有的注释语句.这 ...
- myeclipse中java文件头注释格式设置
转载:http://www.blogjava.net/yxhxj2006/archive/2014/01/14/408940.html myeclipse中java文件头注释格式设置 windows ...
- Java中的注释
代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率.也是程序代码可维护性的重要环节之一.所以我们不是为写注释而写注释.下面说一下Javadoc注释规范以及楼主在J2EE ...
- JAVA_SE基础——5.第一个Java程序HelloWorld&注释的应用
配置完JDK&环境变量后,我们就可以开始写程序了,那么程序怎么写呢,用什么工具呢,我建议 为了方便学习,我们最好在一个磁盘下建立一个专门的文件来写java程序,比如就在D盘下建立一个名为&qu ...
- IDEA使用笔记(九)——设置文件注释
方式一:后写文件描述信息 1:设置——如下图所示 2:验证——创建个类试试 3:验证——结果如下 4:其他,所有注释模版中包含 #parse("File Header.java") ...
随机推荐
- kalman滤波器公式的推导
卡尔曼滤波的使用范围: 该系统要有如下关系: 计算步骤: PART0:INI PART1:Time update 迭代的目标:从X(K-1)+ 求得X(K) + 因此,先有X(K-1)+,已知F,G. ...
- iOS微信页面 长按图片出现【存储图像】和【拷贝】不出现【发送朋友】【保存图片】
最近遇到一大坑.微信加载的页面中出现图片,长按图片时不出现默认的菜单[发送朋友]等而是[存储图像]和拷贝. 原因:正常在页面中长按图片是没有问题的,但是如果你的页面嵌入了ifram然后又长按在ifra ...
- laravel UserRequest $request error
laravel UserRequest $request error Ask Question 0 laravel5.2,I create a UserRequest.php under Re ...
- js编码处理(转)
1. 使用 JS 中的 encodeURIComponent 或 encodeURI 方法. 说明: encodeURIComponent(String) 对传递参数进行设置.不编码字符有 ...
- OAuth - 第三方登录的原理
第三方登录的原理 所谓第三方登录,实质就是 OAuth 授权.用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份.获取第三方网站的身份数据,就需要 OAuth 授权. 举例来说 ...
- IIS部署SSL证书后提示不可信的解决方案
IIS部署SSL证书后提示不可信的解决方案 本帖最后由 wosign-support3 于 2015-7-17 17:18 编辑 第一步:打开mmc——点击文件——添加删除管理单元——证书——计算 ...
- [转载]C++、C#写的WebService相互调用
[转载]C++.C#写的WebService相互调用 首先感谢永和兄提供C++的WebService服务器端及客户端,并且陪我一起熬夜:然后是火石和我做接口的兄弟,虽然都不知道你叫什么,如果没有你 ...
- 将java project打包成jar包,web project 打包成war包的几种演示 此博文包含图片
转: http://blog.csdn.net/christine_ruan/article/details/7491559 http://developer.51cto.com/art/200907 ...
- JavaScript异步编程解决方案探究
javascript的天生单线程特性,使得异步编程对它异常重要,早期的通常做法是用回调函数来解决.但是随着逻辑的复杂,和javascript在服务端的大显神通,使得我们很容易就陷入“回调陷井”的万丈深 ...
- linux与linux之间共享目录
1.安装必要的包 nfs-utils rpcbind (nfs是基于sun公司的rpc通信实现的,所以要装rpcbind) 这2包,在服务端和客户端都需要安装,并启动服务. 启动 ...