Java 支持三种注释方式。前两种分别是 // 和 /* */,第三种被称作说明注释,它以 /** 开始,以 */结束。
说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。说明注释,使你更加方便的记录你的程序信息。
javadoc 标签
javadoc 工具软件识别以下标签:
标签 | 描述 | 示例 |
---|---|---|
@author | 标识一个类的作者 | @author description |
@deprecated | 指名一个过期的类或成员 | @deprecated description |
{@docRoot} | 指明当前文档根目录的路径 | Directory Path |
@exception | 标志一个类抛出的异常 | @exception exception-name explanation |
{@inheritDoc} | 从直接父类继承的注释 | Inherits a comment from the immediate surperclass |
{@link} | 插入一个到另一个主题的链接 | {@link name text} |
{@linkplain} | 插入一个到另一个主题的链接,但是该链接显示纯文本字体 | Inserts an in-line link to another topic |
@param | 说明一个方法的参数 | @param parameter-name explanation |
@return | 说明返回值类型 | @return explanation |
@see | 指定一个到另一个主题的链接 | @see anchor |
@serial | 说明一个序列化属性 | @serial description |
@serialData | 说明通过writeObject( ) 和 writeExternal( )方法写的数据 | @serialData description |
@serialField | 说明一个ObjectStreamField组件 | @serialField name type description |
@since | 标记当引入一个特定的变化时 | @since release |
@throws | 和 @exception标签一样 | The @throws tag has the same meaning as the @exception tag |
{@value} | 显示常量的值,该常量必须是static属性 | Displays the value of a constant, which must be a static field |
@version | 指定类的版本 | @version info |
文档注释
在开始的 /** 之后,第一行或几行是关于类、变量和方法的主要描述。之后,你可以包含一个或多个各种各样的 @ 标签。每一个 @ 标签必须在一个新行的开始或者在一行的开始紧跟星号(*)。多个相同类型的标签应该放成一组。例如,如果你有三个 @see 标签,可以将它们一个接一个的放在一起。下面是一个类的说明注释的实例:
/*** 这个类绘制一个条形图
* @author runoob
* @version 1.2
*/
javadoc 输出什么
javadoc 工具将你 Java 程序的源代码作为输入,输出一些包含你程序注释的HTML文件。每一个类的信息将在独自的HTML文件里。javadoc 也可以输出继承的树形结构和索引。由于 javadoc 的实现不同,工作也可能不同,你需要检查你的 Java 开发系统的版本等细节,选择合适的 Javadoc 版本。
下面是一个使用说明注释的简单实例。注意每一个注释都在它描述的项目的前面。在经过 javadoc 处理之后,SquareNum 类的注释将在 SquareNum.html 中找到:
import java.io.*;
/**
* 这个类演示了文档注释
* @author Ayan Amhed
* @version 1.2
*/
public class SquareNum {
/**
* This method returns the square of num.
* This is a multiline description. You can use
* as many lines as you like.
* @param num The value to be squared.
* @return num squared.
*/
public double square(double num) {
return num * num;
}
/**
* This method inputs a number from the user.
* @return The value input as a double.
* @exception IOException On input error.
* @see IOException
*/
public double getNumber() throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader inData = new BufferedReader(isr);
String str;
str = inData.readLine();
return (new Double(str)).doubleValue();
}
/**
* This method demonstrates square().
* @param args Unused.
* @return Nothing.
* @exception IOException On input error.
* @see IOException
*/
public static void main(String args[]) throws IOException
{
SquareNum ob = new SquareNum();
double val;
System.out.println("Enter value to be squared: ");
val = ob.getNumber();
val = ob.square(val);
System.out.println("Squared value is " + val);
}
}
如下,使用 javadoc 工具处理 SquareNum.java 文件:
$ javadoc SquareNum.java
Loading source file SquareNum.java...
Constructing Javadoc information...
Standard Doclet version 1.5.0_13
Building tree for all the packages and classes...
Generating SquareNum.html...
SquareNum.java:39: 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...
Generating stylesheet.css...
1 warning
$
注释自定义
其实很多注释是可以自定义的,定义成模板在自己的 IDE(集成开发环境) 上,这样每次可以快捷键生成注释,省去了很多时间,也使代码更加规范。
下面已 IntelliJ IDEA 为例,在类的开头设置作者名字和日期等信息的自定义注释:
第一步:Preferences -> Editor -> File and Code Templates 进入如下界面
![](https://img.haomeiwen.com/i13778663/f5b4df3bc38fd9d3.png)
第二步:填入注释信息,简单填入如下信息:
/**
*@Author:WG
*@Package:${PACKAGE_NAME}
*@Project:${PROJECT_NAME}
*@name:${NAME}
*@Date:${DATE} ${TIME}
*@Filename:${NAME}
*/
第三部:创建一个类,测试填入的信息:
![](https://img.haomeiwen.com/i13778663/f3da384fd3488119.png)
IntelliJ IDEA 注释常用预定义的变量将采用值列表:
变量 | 值 |
---|---|
${PACKAGE_NAME} | 在其中创建新文件的包的名称 |
${USER} | 当前用户系统登录名 |
${DATE} | 当前系统日期 |
${TIME} | 当前系统时间 |
${YEAR} | 本年度 |
${MONTH} | 本月 |
${MONTH_NAME_SHORT} | 当前月份名称的前3个字母,例如:Jan, Feb 等 |
${MONTH_NAME_FULL} | 当月的全名,例如:January, February 等 |
${DAY} | 当月的当前日期 |
${DAY_NAME_SHORT} | 当前日期名称的前3个字母,例如:Mon, Tue 等 |
${DAY_NAME_FULL} | 当天的全名,例如:Monday, Tuesday 等 |
${HOUR} | 当前小时 |
${MINUTE} | 当前分钟 |
${PROJECT_NAME} | 当前项目的名称 |
网友评论