文章目录
一.Java注释方式
Java 支持三种注释方式。分别是
- 单号注释 //
- 多行注释 /* */
- 文档注释,它以 /** 开始,以 */结束。
可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。
二.JavaDoc注释用法
在开始的 /**
之后,第一行或几行是关于类、变量和方法的主要描述
。之后,你可以包含一个或多个各种各样的 @ 标签
。每一个 @ 标签必须在一个新行的开始或者在一行的开始紧跟星号(*).
- 多个相同类型的标签应该放成一组。例如,如果你有三个 @see 标签,可以将它们一个接一个的放在一起。
下面是一个类的说明注释的实例:
/*** 这个类绘制一个条形图
* @author runoob
* @version 1.2
*/
三.JavaDoc注释会输出什么
javadoc 工具将你 Java 程序的源代码作为输入,输出一些包含你程序注释的HTML文件。
每一个类的信息将在独自的HTML文件里。javadoc 也可以输出继承的树形结构和索引。
由于 javadoc 的实现不同,工作也可能不同,你需要检查你的 Java 开发系统的版本等细节,选择合适的 Javadoc 版本。
四.JavaDoc注释常用标签
1.@see
- 使用@see时应注意 写在每行注释的开头。
- 用法:@see 类#属性 / 方法
/**
* @see ClassA#属性
* @see ClassA#方法
* @see com.joh.demo.ClassB#方法
*/
JavaDoc注解中的{@link}与@see
,他可以链接类或者方法,方便自己或别人看的时候,可以直接找到你关联的代码类或者啥的。
在编辑器中,按住
ctrl+鼠标左键
,就能直接跳转
2.{@link}
- {@link}的使用与@see有一点区别就是可以写在注释的任意位置
- 用法:{@link 类#属性 / 方法}
/**
* {@link ClassA#属性}
* {@link ClassA#方法}
* {@link com.joh.demo.ClassB#方法}
*
* 可不用开头写 {@link ClassA#属性}
* 可不用开头写 {@link ClassA#方法}
* 可不用开头写 {@link com.joh.demo.ClassB#方法}
*/
JavaDoc注解中的{@link}与@see
,他可以链接类或者方法,方便自己或别人看的时候,可以直接找到你关联的代码类或者啥的。
在编辑器中,按住
ctrl+鼠标左键
,就能直接跳转
3.其他JavaDoc标签
标签 | 描述 | 示例 |
---|---|---|
@author | 标识一个类的作者 | @author description |
@deprecated | 指名一个过期的类或成员 | @deprecated description |
{@docRoot} | 指明当前文档根目录的路径 | Directory Path |
@exception | 标志一个类抛出的异常 | @exception exception-name explanation |
{@inheritDoc} | 从直接父类继承的注释 | Inherits a comment from the immediate surperclass. |
{@link} | 插入一个到另一个方法或者代码的链接,但是该链接显示链接样式 | Inserts an in-line link to another topic. |
{@linkplain} | 插入一个到另一个方法或者代码的链接,但是该链接显示纯文本字体 | Inserts an in-line link to another topic. |
@param | 说明一个方法的参数 | @param parameter-name explanation |
@return | 说明返回值类型 | @return explanation |
@serial | 说明一个序列化属性 | @serial description |
@serialData | 说明通过writeObject( ) 和 writeExternal( )方法写的数据 | @serialData description |
@serialField | 说明一个ObjectStreamField组件 | @serialField name type description |
@throws | 和 @exception标签一样.,说明要抛出的异常 | @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 |
实例代码
/**
* 这个类演示了文档注释
* @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);
}
}
4.文档注释模板
类注释
/*
* <p>项目名称: ${project_name} </p>
* <p>文件名称: ${file_name} </p>
* <p>描述: [类型描述] </p>
* <p>创建时间: ${date} </p>
* <p>公司信息: ************公司 *********部</p>
* @author <a href="mail to: *******@******.com" rel="nofollow">作者</a>
* @version v1.0
* @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
*/
方法注释
/**
* @Title:${enclosing_method}
* @Description: [功能描述]
* @Param: ${tags}
* @Return: ${return_type}
* @author <a href="mail to: *******@******.com" rel="nofollow">作者</a>
* @CreateDate: ${date} ${time}</p>
* @update: [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
*/
getter 和 setter方法注释
/**
* 获取 ${bare_field_name}
*/
/**
* 设置 ${bare_field_name}
* (${param})${field}
*/
参考