Java入门 - 高级教程 - 09.文档注释
原文地址:http://www.work100.net/training/java-documentation.html
更多教程:光束云 - 免费课程
文档注释
序号 | 文内章节 | 视频 |
---|---|---|
1 | 概述 | - |
2 | javadoc标签 | - |
3 | 文档注释 | - |
4 | javadoc输出什么 | - |
请参照如上章节导航
进行阅读
1.概述
Java 支持三种注释方式。前两种分别是 //
和 /* */
,第三种被称作说明注释,它以 /**
开始,以 */
结束。
说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc
工具软件来生成信息,并输出到 HTML
文件中。
说明注释,使你更加方便的记录你的程序信息。
2.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 |
3.文档注释
在开始的 /**
之后,第一行或几行是关于类、变量和方法的主要描述。
之后,你可以包含一个或多个各种各样的 @
标签。每一个 @
标签必须在一个新行的开始或者在一行的开始紧跟星号(*
).
多个相同类型的标签应该放成一组。例如,如果你有三个 @see
标签,可以将它们一个接一个的放在一起。
下面是一个类的说明注释的实例:
/**
* 这个类绘制一个条形图
* @author runoob
* @version 1.2
*/
4.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
$
上一篇:Applet
如果对课程内容感兴趣,可以扫码关注我们的
公众号
或QQ群
,及时关注我们的课程更新
Java入门 - 高级教程 - 09.文档注释的更多相关文章
- Java入门 - 高级教程 - 08.Applet
原文地址:http://www.work100.net/training/java-applet.html 更多教程:光束云 - 免费课程 Applet 序号 文内章节 视频 1 概述 2 Apple ...
- Java学习个人备忘录之文档注释
文档注释 单行注释用 // 多行注释有两种,第一种是 /* 内容 */,第二种是/** 内容 */. 这两种多行注释的区别是/** 内容 */这种注释可以生成一个该文件的注释文档,下面是演示代码. A ...
- Java知识回顾 (15) 文档注释
说明注释允许你在程序中嵌入关于程序的信息. 你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中,使你更加方便的记录你的程序信息. javadoc 标签 标签 描述 示例 @auth ...
- Java入门 - 高级教程 - 02.集合
原文地址:http://www.work100.net/training/java-collection.html 更多教程:光束云 - 免费课程 集合 序号 文内章节 视频 1 概述 2 集合接口 ...
- Java入门 - 高级教程 - 04.序列化
原文地址:http://www.work100.net/training/java-serialization.html 更多教程:光束云 - 免费课程 序列化 序号 文内章节 视频 1 概述 2 序 ...
- Java入门 - 高级教程 - 01.数据结构
原文地址:http://www.work100.net/training/java-data-structure.html 更多教程:光束云 - 免费课程 数据结构 序号 文内章节 视频 1 概述 2 ...
- Java入门 - 高级教程 - 03.泛型
原文地址:http://www.work100.net/training/java-generic.html 更多教程:光束云 - 免费课程 泛型 序号 文内章节 视频 1 概述 2 泛型方法 3 泛 ...
- Java入门 - 高级教程 - 05.网络编程
原文地址:http://www.work100.net/training/java-networking.html 更多教程:光束云 - 免费课程 网络编程 序号 文内章节 视频 1 概述 2 Soc ...
- Java入门 - 高级教程 - 06.邮件收发
原文地址:http://www.work100.net/training/java-email.html 更多教程:光束云 - 免费课程 邮件收发 序号 文内章节 视频 1 概述 2 发送一封简单的邮 ...
随机推荐
- JavaScript DOM查询,原生js实现元素子节点的获取
在网页网页开发中,经常会需要获取某个网页元素的子元素,然后对其进行事件绑定.或样式修改等行为.这些操作对于jquery来说很容易,但是对于原生js会稍微麻烦一些,这里将介绍四种方法获取元素的子元素(本 ...
- H3C 链路聚合显示及维护
- 【codeforces 764A】Taymyr is calling you
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- Linux 内核设备驱动
设备模型跟踪所有对系统已知的驱动. 这个跟踪的主要原因是使驱动核心能匹配驱动和新 设备. 一旦驱动在系统中是已知的对象, 但是, 许多其他的事情变得有可能. 设备驱动可 输出和任何特定设备无关的信息和 ...
- 找不到 javax.servlet.http.HttpServletResponse 和 javax.servlet.http.HttpServletRequest 问题解决
时隔3个月,我又回来了!在做完毕设之后,由于对此过程中学到的一些东西疏于整理,所以当再次打开我的project时有些手足无措,以至于出现一些问题也要解决好半天,我知错! 今天的问题是: 开始搜到的解决 ...
- k8s的网络方案对比
如下图,三台虚拟机k8s-master.k8s-node-1.k8s-node-2组成k8s集群,网络拓扑和节点IP分配如下图: 一.flannel组网方案 https://github.com/co ...
- 设计模式3——单例模式Singleton
参考链接: 单例模式-菜鸟教程:https://www.runoob.com/design-pattern/singleton-pattern.html 这种类型的设计模式属于创建型模式,它提供了一种 ...
- Curator实现zookeeper分布式锁的基本原理
一.写在前面 之前写过一篇文章(<拜托,面试请不要再问我Redis分布式锁的实现原理>),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一 ...
- JDK1.8中的HashMap实现
1.HashMap概述 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通 ...
- ReentrantLock 源码分析从入门到入土
回答一个问题 在开始本篇文章的内容讲述前,先来回答我一个问题,为什么 JDK 提供一个 synchronized 关键字之后还要提供一个 Lock 锁,这不是多此一举吗?难道 JDK 设计人员都是沙雕 ...