二十三、生成帮助文档

二十一、Java工具类的创建
二十二、Jar包制作及使用
这一篇开始学习如何生成帮助文档。为什么要学习生成帮助文档
1、工具类已经制作好了,Java工具类的创建的类是一个.java文件,编译后成.class文件看不懂,所以需要对应的帮助文档,方便调用者快速了解一个类,相当于类的说明书

总结的说帮助文档就是类的说明书,学习Java的过程就是学习类的过程。

2、生成过程需要用到文档注释,其中可以通过一些注解,表示不同的内容,注解就是文档中出现的内容的解释

(1) 作者: @author  暴书源

(2) 版本:  @version 1.0

(3) 参数:  @param  用来对参数进行说明

(4) 返回值:  @return 后面放返回值的说明

3、标注完成之后,进行帮助文档的生成

package com.test;
/**
 * @author 暴书源世界上最帅的程序员之一
 * @version 1.0
 * ArrayTool提供了一些数组操作的相关方法,包含了获取最大值、最小值、遍历、反转等功能
 */
public class ArrayTool {
    private ArrayTool() {
    }
    /**
     * 用来获取最大值的方法:getMax
     * @param arr 表示需要传递一个数组,其中arr不能为null
     * @return 返回值就是最大值
     */
    public static int getMax(int[] arr) {
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];
            }
        }
        return max;
    } 
    /**
     * 用来获取最小值的方法:getMin
     * @param arr 表示需要传递一个数组,其中arr不能为null
     * @return 返回值就是最小值
     */
    public static int getMin(int[] arr) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (min > arr[i]) {
                min = arr[i];
            }
        }
        return min;
    }
//    数组的两个元素交换
    /**
     * 数组元素交换的方法:swap
     * @param arr 表示要交换的数组,arr不能为null
     * @param i 表示要交换数组的元素的索引
     * @param j 表示要交换数组的元素的索引
     */
    public static void swap(int[] arr,int i,int j){
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
//            数组的遍历
    /**
     * 打印数组中的每一个元素的方法:print
     * @param arr 表示要打印的数组,arr不能为null
     */
    public static void print(int[] arr){
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
//    数组的反转
    /**
     * 可以将数组元素反转的方法:reverse
     * @param arr 表示要反转的数组,arr不能为null
     */
    public static void reverse(int[] arr){
        for(int i = 0,j = arr.length-1; i < j; i++,j--){
            swap(arr,i,j);
        }
    }
}

怎么生成帮助文档?

JDK提供了官方的CMD生成命令 javadoc 下面是官方给的,很长先别管我带大家做一下

用法: javadoc [options] [packagenames] [sourcefiles] [@files]
  -overview <file>HTML 文件读取概览文档
  -public                          仅显示 public 类和成员
  -protected                       显示 protected/public 类和成员 (默认值)
  -package                         显示 package/protected/public 类和成员
  -private                         显示所有类和成员
  -help                            显示命令行选项并退出
  -doclet <class>                  通过替代 doclet 生成输出
  -docletpath <path>               指定查找 doclet 类文件的位置
  -sourcepath <pathlist>           指定查找源文件的位置
  -classpath <pathlist>            指定查找用户类文件的位置
  -cp <pathlist>                   指定查找用户类文件的位置
  -exclude <pkglist>               指定要排除的程序包列表
  -subpackages <subpkglist>        指定要递归加载的子程序包
  -breakiterator                   计算带有 BreakIterator 的第一个语句
  -bootclasspath <pathlist>        覆盖由引导类加载器所加载的
                                   类文件的位置
  -source <release>                提供与指定发行版的源兼容性
  -extdirs <dirlist>               覆盖所安装扩展的位置
  -verbose                         输出有关 Javadoc 正在执行的操作的信息
  -locale <name>                   要使用的区域设置, 例如 en_US 或 en_US_WIN
  -encoding <name>                 源文件编码名称
  -quiet                           不显示状态消息
  -J<flag>                         直接将 <flag> 传递到运行时系统
  -X                               输出非标准选项的提要

通过标准 doclet 提供:
  -d <directory>                   输出文件的目标目录
  -use                             创建类和程序包用法页面
  -version                         包含 @version 段
  -author                          包含 @author 段
  -docfilessubdirs                 递归复制文档文件子目录
  -splitindex                      将索引分为每个字母对应一个文件
  -windowtitle <text>              文档的浏览器窗口标题
  -doctitle <html-code>            包含概览页面的标题
  -header <html-code>              包含每个页面的页眉文本
  -footer <html-code>              包含每个页面的页脚文本
  -top    <html-code>              包含每个页面的顶部文本
  -bottom <html-code>              包含每个页面的底部文本
  -link <url>                      创建指向位于 <url> 的 javadoc 输出的链接
  -linkoffline <url> <url2>        利用位于 <url2> 的程序包列表链接至位于 <url> 的文档
  -excludedocfilessubdir <name1>:.. 排除具有给定名称的所有文档文件子目录。
  -group <name> <p1>:<p2>..        在概览页面中, 将指定的程序包分组
  -nocomment                       不生成说明和标记, 只生成声明。
  -nodeprecated                    不包含 @deprecated 信息
  -noqualifier <name1>:<name2>:... 输出中不包括指定限定符的列表。
  -nosince                         不包含 @since 信息
  -notimestamp                     不包含隐藏时间戳
  -nodeprecatedlist                不生成已过时的列表
  -notree                          不生成类分层结构
  -noindex                         不生成索引
  -nohelp                          不生成帮助链接
  -nonavbar                        不生成导航栏
  -serialwarn                      生成有关 @serial 标记的警告
  -tag <name>:<locations>:<header> 指定单个参数定制标记
  -taglet                          要注册的 Taglet 的全限定名称
  -tagletpath                      Taglet 的路径
  -charset <charset>               用于跨平台查看生成的文档的字符集。
  -helpfile <file>                 包含帮助链接所链接到的文件
  -linksource                      以 HTML 格式生成源文件
  -sourcetab <tab length>          指定源中每个制表符占据的空格数
  -keywords                        使程序包, 类和成员信息附带 HTML 元标记
  -stylesheetfile <path>           用于更改生成文档的样式的文件
  -docencoding <name>              指定输出的字符编码

找到自己的java文件所在位置
javadoc1
上图cmd回车之后显示如下页面
javadoc2
javadoc3
回车后
javadoc4

总结

D:\namespace\Demo01\src\main\java>javajavadoc 
-d D:\namespace\Demo01\src\main\java  
-encoding UTF-8 
-charset UTF-8 
-windowtitle "帮助文档"    ArrayTool.java

-d后面的参数是帮助文档的生成位置
-encoding后面的参数UTF-8是编码,如果不加上这个会导致无法识别中文
-charset用来设定字符集的编码
-windowtitile用来设置标题

最后看一下我们刚刚生成的DOC(java说明书)
在这里插入图片描述
这里还有方法的详细资料
是通过这些命令给的的详细资料

(1) 作者: @author  暴书源
(2) 版本:  @version 1.0
(3) 参数:  @param  用来对参数进行说明
(4) 返回值:  @return 后面放返回值的说明

在这里插入图片描述
学会了给点个赞 ,谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/705535.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我的高考往事

高考对于每一个参加过的人来说&#xff0c;都是一段非常难忘的回忆。 我参加高考&#xff0c;是在2001年。虽然迄今已经过去了23年&#xff0c;但很多细节仍然记忆犹新。 今天这篇文章&#xff0c;我就和大家分享一下&#xff0c;我的高考往事。 █ 青少年时代 我的老家是在江西…

函数式开发接口( Consumer、Function)在实际开发中的应用场景

之前有个扫码下载文件需求&#xff0c;由于要同时进行记录下载人的记录。一开始用的是异步进行日志记录。发现有的用户扫码下载了一次文件&#xff0c;日志记录了三条。这种很容易联想到是因为网络抖动造成的。 问题代码 由于日志记录是异步的&#xff0c;文件下载需要时间。同…

TikTok网红营销指南 | 怎么找到TikTok网红并进行合作?

如果你打算在tiktok上进行营销&#xff0c;忽略与tiktok网红合作无异于错失良机&#xff0c;时尚博主Sophia仅用一条30秒的视频展示了自己从一家新兴品牌购买的连衣裙&#xff0c;视频迅速获得了数百万的点赞和评论&#xff0c;也让该品牌的销量翻了好几倍。 这种与网红合作的策…

Mac 下载并激活IDEA

1.https://3.jetbra.in 打开这个网站,点击第一个网速比较快的连接 2.在新页面顶部有一个蓝色的下载链接文字< jetbra.zip(20220801) >点击下载 3.步骤2打开的页面不要关闭后面还有用 4.在idea官网下载idea对应的版本 https://www.jetbrains.com/idea/download/other.htm…

ADALORA: ADAPTIVE BUDGET ALLOCATION FOR PARAMETER-EFFICIENT FINE-TUNING

文章汇总 LoRA&#xff1a; W W ( 0 ) Δ W ( 0 ) B A WW^{(0)}\Delta W^{(0)}BA WW(0)ΔW(0)BA AdaLoRA&#xff1a;$WW^{(0)}\Delta W^{(0)}P\Lambda Q$ AdaLoRA的做法是让模型学习SVD分解的近似。在损失函数中增加了惩罚项(4)&#xff0c;防止矩阵 P P P和 Q Q Q偏离正…

Leetcode 力扣117. 填充每个节点的下一个右侧节点指针 II (抖音号:708231408)

给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点&#xff0c;则将 next 指针设置为 NULL 。 初始状态下&#xff0c;所有 next 指针都…

UITableView之显示单组数据Demo

需求 UITableView实现显示单组数据。尝试设置不同行高度不同。 效果&#xff1a; 数据展示 实现 与之前分组显示数据的区别在于懒加载的数据模型不同。 &#xff08;1&#xff09;声明数据模型类 类的属性一定要和plist中数据的字段保持一致 interface CZhero : NSObject /…

干货下载 |《数据治理:数据中台建设与能力提升策略》

在当今这个信息爆炸的时代&#xff0c;数据已经成为企业最宝贵的资产之一。数据不仅能帮助企业洞察市场趋势&#xff0c;还能优化业务流程&#xff0c;提升运营效率&#xff0c;进而在激烈的市场竞争中占据优势地位。然而&#xff0c;如何有效地管理和利用这些数据&#xff0c;…

Centos: ifconfig command not found且ip addr查不到服务器IP

前段时间部门新派发了服务器&#xff0c;让我过去使用U盘装机&#xff0c;装完后使用ifconfig查不到服务器IP地址&#xff0c;ip addr也是查不到 ifconfig&#xff1a;command not found (这两个图片先用虚拟机的替代一下) 在网上找资料(CSDN&#xff0c;博客园&#xff0c;知乎…

FISCO BCOS x GitLink,为国产开源技术生态注入新活力

作为中国领先的区块链底层平台之一&#xff0c;FISCO BCOS 自成立以来始终致力于推动国产开源区块链技术的应用和普及。近期&#xff0c;FISCO BCOS 将开源代码托管到CCF官方代码托管平台 GitLink &#xff08;确实开源&#xff09;&#xff0c;为国产开源技术生态注入新活力。…

平安科技智能运维案例

平安科技智能运维案例 在信息技术迅速发展的背景下&#xff0c;平安科技面临着运维规模庞大、内容复杂和交付要求高等挑战。通过探索智能运维&#xff0c;平安科技建立了集中配置管理、完善的运营管理体系和全生命周期运维平台&#xff0c;实施了全链路监控&#xff0c;显著提…

Stable diffusion 3 正式开源

6月12日晚&#xff0c;著名开源大模型平台Stability AI正式开源了&#xff0c;文生图片模型Stable Diffusion 3 Medium&#xff08;以下简称“SD3-M”&#xff09;权重。 SD3-M有20亿参数&#xff0c;平均生成图片时间在2—10秒左右推理效率非常高&#xff0c;同时对硬件的需求…

Qt篇——-1: error: fatal error: no input files问题解决

有时在pro或pri中引用的文件被删除或重命名后&#xff0c;会导致pro或pri文件中自动出现两个连续的//&#xff0c;这将导致我们编译时提示&#xff1a;-1: error: fatal error: no input files。 这是因为qmake 语法里每增加一个源文件或一个配置用一个斜杠结束&#x…

SJ901-II安全网耐冲击贯穿测试仪

一、主要用途 依据GB5725-2009最新国家标准研发&#xff0c;主要用于检测安全网的耐冲击性能和贯穿性能。 二、仪器特征 1、测试架采用多模块设计理念&#xff0c;可以实现安全网和安全带的试验。后期如果您们上安全带整体动态和整体静态试验&#xff0c;把所需部件直接安装到…

多商户小程序开发步骤和方法

在当今的数字经济中&#xff0c;多商户小程序作为一种创新的商业平台&#xff0c;提供了一种新的商业模式&#xff0c;使多个商户能够在同一平台上展示和销售他们的产品或服务。这种模式不仅增强了消费者选择的多样性&#xff0c;也为商家提供了一个更广泛的销售渠道。以下是详…

数据防泄密知识集锦|5个有效防止数据泄露的方法,你知道吗?

以下是五个有效防止数据泄露的方法&#xff0c;它们涵盖了从加强员工意识到技术实施等多个方面。 1.部署数据安全防护系统&#xff1a;安企神软件 专业的企业数据防泄密软件能够全方位地保护企业数据的安全。 该系统通常具有强大的文件加密功能、实时监控和异常检测、灵活的权…

常见排序算法——插入排序(直接插入排序 希尔排序)

目录 直接插入排序 基本思想 代码实现 时间复杂度计算 特性总结 希尔排序&#xff08;缩小增量排序&#xff09; 基本思想 代码实现 时间复杂度计算 特性总结 直接插入排序 基本思想 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#…

OpenCV读取图片

import cv2 as cv # 读取图像 image cv.imread(F:\\mytupian\\xihuduanqiao.jpg) # 创建窗口 cv.namedWindow(image, cv.WINDOW_NORMAL) #显示图像后&#xff0c;允许用户随意调整窗口大小 # 显示图像 cv.imshow(image, image) cv.waitKey(0)import cv2 as cv srccv.imread(…

【AI基础】概览

一、目的 主要梳理一下大模型的相关概念&#xff0c;并在此基础上&#xff0c;部署安装最基础的AI运行环境&#xff0c;以达到输出AI领域的helloworld。 总的来说如图&#xff1a; 按照从下往上的顺序来理解&#xff0c;也是从下到上的顺序来安装部署。 规则1 注意每个层级的…

defer+recover机制处理错误

问题&#xff1a;多个协程工作&#xff0c;其中一个协程出现panic&#xff0c;导致程序崩溃 解决办法&#xff1a;利用deferrecover捕获panic进行处理&#xff0c;即使协程出现错误&#xff0c;主线程仍然不受影响可以继续执行 package mainimport ("fmt""tim…