Java程序中Doc(文档)注释详解

2023-10-27

许多人写代码时总不喜欢写注释,每个程序员如此,嘿嘿,我也一样

不过,话说回来,该写还是要写哦!没人会喜欢一个不写注释的程序员,当然,也没有一个喜欢写注释的程序员,今天,我们就来说说Java注释之一——Doc注释

我们知道,Java支持 3 种注释,分别是单行注释多行注释文档注释,我们来看看他们的样子

//单行注释

/*
多行注释
*/

/**
*@...
*....
*文档注释
*/

可能许多萌新不明白,写了这些注释有什么用呢?

其实是因为初学者的代码量少,没有注释也能快速查找、修改

当代码渐渐多了起来,注释就是一个好东西了,不仅是为了自己可以清晰明了看清代码,也是为了和你一起开发项目的成员一个方便

记住,改掉不写注释这种坏习惯!!!

那么,我们今天的主题来了,什么是Doc注释呢?

javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。

javadoc命令是用来生API文档的,使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java

这些复杂理论不必去纠结,要培养一种思想,去了解、去理解、去深入、去改变它,去懂得他,死死揪住理论是没有效果的!

我们写代码,都是有规范的,如果你写的代码可以运行,但是一团乱麻,是没人愿意使用的,因为难以维护,所以,代码不只是单纯的程序,在网络世界,我更愿意称之它为艺术品,需要你的精心镌刻

可能有人会说,不就是注释吗?这有什么的

不过,这个Doc注释可不与其他两个注释一样,注释也是存在规范的哦!

Doc注释规范

格式:

 写在类上的文档标注一般分为三段:

第一段:概要描述,通常用一句或者一段话简要描述该类的作用,以英文句号作为结束

第二段:详细描述,通常用一段或者多段话来详细描述该类的作用,一般每段话都以英文句号作为结束

第三段:文档标注,用于标注作者、创建时间、参阅类等信息

这里我要扩展一点知识,我们的Doc注释可以使用Dos命令或者IDE工具生成一个Doc文档,这个文档是HTML语言来贯穿的,所以在注释里面可以搭配一些简单的HTML代码,比如下面这几个

换行<br>

分段<p>(写在段前)

放个实例样式图:

 @符号的用处

我们在写Doc注释时,/** 后直接回车,会自动生成后面的注释框架,和部分@符号,那么这些@符号有什么用呢?

标签 描述 示例
@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

@后面我这里部分是英文,可以写中文,比如 @author 小简

如何生成Doc文档

我们上面说过,写了Doc注释,可以生成一个Doc文档,而且是HTML格式,那么我们怎么生成呢?

第一个:Dos命令生成

javadoc [options] [packagenames] [sourcefiles]

对格式的说明:

  • options 表示 Javadoc 命令的选项;
  • packagenames 表示包名;
  • sourcefiles 表示源文件名;

在 cmd(命令提示符)中输入javadoc -help就可以看到 Javadoc 的用法和选项(前提是安装配置了JDK),下面列举 Javadoc 命令的常用选项:

名称 说明
-public 仅显示 public 类和成员
-protected 显示 protected/public 类和成员(默认值)
-package 显示 package/protected/public 类和成员
-private 显示所有类和成员
-d <directory> 输出文件的目标目录
-version 包含 @version 段
-author 包含 @author 段
-splitindex 将索引分为每个字母对应一个文件
-windowtitle <text> 文档的浏览器窗口标题

用Doc生成又麻烦又慢,那还有没有其他方法呢?

第二个:IDE工具生成

我们可以用Eclipse或者IDEA生成,Eclipse我不怎么用,用IDEA给你们演示一下吧!

 在工具这个里面的JavaDoc里面,进去后是这样的

 

输出目录必须选择,不然生成不了

注意了,因为Java的编码与IDEA的编码不一样,所以在其他命令形参栏目里面,要填写以下内容

-encoding utf8 -docencoding utf8 -charset utf8

生成之后,是这样的

 

 好了,Doc注释知道用就可以

最重要的是:一定要写注释,各位程序员们,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java程序中Doc(文档)注释详解 的相关文章

随机推荐

  • 4、编写程序,根据用户输入的数字转换成相应的中文的大写数字。例如,1.23转换为“壹点贰叁”。

    Python 4 编写程序 根据用户输入的数字转换成相应的中文的大写数字 例如 1 23转换为 壹点贰叁 问题遇到的现象和发生背景 输入含有0就不会输出 问题相关代码 import jieba ChineseNum 零 壹 贰 叁 肆 伍
  • 读书:滑铁卢

    又到4月23日国际读书日 又是一年轮回 有些老朋友可能知道 TC研修实验室有一条不成文的老传统 每逢此时 都会按书年度进行读书总结 至今 已是第4个年头 只不过 是遭遇 读书滑铁卢 的一年 当我到豆瓣查看这一年的读书记录时 我震惊了 纳尼
  • 模拟CMOS集成电路设计中的电流基准源及用Cadence Virtuoso IC617设计并仿真有关电路

    前言 本文为我自己的学习笔记 属于Cadence Virtuoso系列的进阶部分 采用的软件版本是Cadence Virtuoso IC617 其他文章请点击上方 看我制作的Cadence Virtuoso专栏内容 在前面的文章中 记录了电
  • sql_model

    关于sql mode sql mode是MySQL数据库中的一个环境变量 定义了mySQL应该支持的SQL语法 数据校验等可以通过select sql mode 查看当前数据库使用的sql mode 查看当前数据库的sql mode sel
  • 汉字统计

    题目 统计给定文本文件中汉字的个数 输入格式 输入文件首先包含一个整数n 表示测试实例的个数 然后是n段文本 输出格式 对于每一段文本 输出其中的汉字的个数 每个测试实例的输出占一行 Hint 从汉字机内码的特点考虑 数据范围 无 样例输入
  • Js 逆向:微博登录

    1 先分析参数 su sp是必要的 其中su是加密后的账号 很简单就是个bs64 不再说了 2 直接搜参数 这个时候要搜代表性的 特殊的 例如pwencode 很好只有一个 两种加密 一个是RSA 一个是sha 这里判断用的是RSA 3 直
  • VUE的认识及基础语法

    VUE的认识及基础语法 我们先来了解一下什么是VUE 什么是渐进式 库 插件和框架的区别 vue从而出现了一种开发模式那就是mv 插值表达式的使用 指令 关于属性 循环 v model 自定义指令 过滤器 修饰符 v on 指令常用修饰符
  • 光线追踪(ray tracing)介绍与细节推导

    背景 最近因为找到关于光线追踪相关不错的教程 所以边学习边做记录并希望将相关资料进行分享 光线追踪作为计算机图形学中一种可以获得良好的效果的渲染算法 有着非常广泛的应用 历史背景相关的介绍可参考百度百科或者维基百科 本文中的参考资料来自于P
  • 【爬虫】JS逆向解决反爬问题系列5—sign破解

    欢迎来到我的博客 作者 秋无之地 简介 CSDN爬虫 后端 大数据领域创作者 目前从事python爬虫 后端和大数据等相关工作 主要擅长领域有 爬虫 后端 大数据开发 数据分析等 欢迎小伙伴们点赞 收藏 留言 本次博客内容将讲解关于sign
  • COM基础

    曾经看过潘老师的 lt
  • GPT2-Chinese:中文的GPT2训练代码

    推荐一个中文的GPT2项目 Chinese version of GPT2 training code using BERT tokenizer 作者提供了一份中文的GPT2训练代码 使用BERT的Tokenizer 可以写诗 新闻 小说
  • 液位系统c语言程序,超声波自动测量物体液位系统的设计

    超声波自动测量物体液位系统的设计 任务书 毕业论文15000字 摘要 本系统以STC89C52单片机为核心 通过硬件电路连接和软件程序的编写实现通用型超声波自动测量物体液位系统的设计 其主要原理是由单片机控制超声波发射电路发射超声波 超声波
  • win10手动添加程序到右键菜单/右键以pycharm project方式打开文件夹

    这次主要原因是在安装pycharm时 没选择将pycharm加入右键菜单 以至于无法选定文件夹作为pycharm项目打开 每次都需要打开pycharm 加载一个自己不需要的项目 再从pycharm里打开自己想要的 就去查了一下在win10里
  • 支付宝&微信个人收款支付系统解决方案

    原文链接 对于个人收款支付系统 由于没有营业执照 微信 支付宝官方提供的接口无法使用 个人二维码收款又无法完成支付系统后续工作 这个问题一直以来都没有找到一个适合的解决方案 经过不断尝试 最终找到了一个非常好用的第三方工具来解决这个问题 G
  • 决策树和朴素贝叶斯

    决策树 热力第二 物理 熵 混沌 系统越大 越乱 越看不懂 混乱度越大 熵越大 gt 熵增 容器 容器有个隔板 一边是氧气 一边是氮气 gt 熵 信息论 计算机是二进制 信息熵 中华民族9万个汉字 有多少本书 都是用9万个汉字排列 7000
  • Vue+iview表单验证失效

    iview表单验证的步骤 第一步 给 Form 设置属性 rules rules 第二步 同时给需要验证的每个 FormItem 设置属性 prop 指向对应字段即可 prop 第三步 注意 Form标签里面是 model 第四步 注意 在
  • 项目管理-进度网络图

    项目管理 网络图 一 网络图 1 1 分类 1 1 1 单代号网络图 节点型 1 2 2 双代号网络图 箭线型 1 2 逻辑关系 1 3 提前量和滞后量 1 4 关键路径法 Critical Path Method 1 5 基本概念 二 七
  • c语言c++新手题目a+b a*b

    两个变量之间的基本运算是学习c语言必不可少的入门题目 a b的求和意思是定义两个任意变量并输出他们的和 a b同理 开始写代码之前需要先了解c语言中各种符号的意思 所有的 C 语言程序都需要包含 main 函数 代码从 main 函数开始执
  • web端测试常见BUG总结

    原文 https www jianshu com p 4c7daac31c0f 一 缺少非空判断 服务器报500错误 编辑包含多个字段的页面时 有一些字段在程序中控制是必填的 事先未知 但是提交时没有任何说明提示 当不填写这些字段 直接保存
  • Java程序中Doc(文档)注释详解

    许多人写代码时总不喜欢写注释 每个程序员如此 嘿嘿 我也一样 不过 话说回来 该写还是要写哦 没人会喜欢一个不写注释的程序员 当然 也没有一个喜欢写注释的程序员 今天 我们就来说说Java注释之一 Doc注释 我们知道 Java支持 3 种