Javadoc

*什么是javadoc

javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。
javadoc命令是用来生成自己API文档的,使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java。
javadoc图册
在这里插入图片描述

如何在源代码中用Javadoc标签写注释及如何创建Javadoc文档。
Javadoc注释由Javadoc标签和描述性文本组成,可以为类、接口添加注释,也可为构造函数、值域、方法等类中的元素添加注释。可以通过代码模板快速的录入Javadoc注释,也可以选择通过Javadoc对话框以一种形象化的方式录入Javadoc注释。虽然在Java文件中编写注释后,可以马上切换到内容窗格的Doc视图页代码中对应的Javadoc文档,但在Doc视图页中生成的文档是不完整的"范本"。第一,没有导航树。第二,没有生成通过@see或@link关联内容的链接。

常用标记

标签说明
@author 作者作者标识
@version 版本号版本号
@param 参数名 描述方法的入参名及描述信息,如入参有特别要求,可在此注释
@return 描述对函数返回值的描述/注释
@deprecated 过期文本标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告知开发者不应再用这个API
@throws 异常类名构造函数或方法会抛出的异常
@exception 异常类名同@throws
@see 引用引用,查看相关的内容,如类,方法,变量等,必须顶头写
@since 描述文本API在什么程序的什么版本后开发支持
{@link 包.类#成员 标签}链接到某个特定的成员对应的文档中。同@see,但可写在任意位置
{@value}当对常量注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值
{@code}{@code text}将文本标记为code,会被解析成 text } ,在Javadoc成只要涉及到类名或者方法名,都需要使用@code进行标记
@inheritDoc用于继承父类中的Javadoc,父类的文档注释,被继承到了子类

**

Javadoc的注释规范

**

一、 Java文档

// 注释一行
/ *    */ 注释若干行  
/**   ……*/  注释若干行,写入Javadoc文档

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

第一段:概要描述,通常用一句话或者一段话简要描述该类的作用,以英文句号结束
第二段:详细描述,通常用一段或者多段话来详细描述该类的作用,一般每段话都以英文句号作为结束
第三段:文档标注,用于标注作者,创建时间,参阅类等信息

生成文档是HTML格式。
换行<br>
分段<p>(写在段前))

例:

/** 
* show 方法的简述.
* <p>show 方法的详细说明第一行<br> 
* show 方法的详细说明第二行 
* @param b true 表示显示,false 表示隐藏 
* @return 没有返回值 
*/ 
public void show(boolean b) {
    frame.show(b);
    } 

Javadoc的基本语法使用

1 @author:作者标识
例:

// 纯文本作者
@author Rod Johnson

// 纯文本作者,邮件
@author Igor Hersht, igorh@ca.ibm.com

// 超链接邮件 纯文本作者
@author <a href="mailto:ovidiu@cup.hp.com">Ovidiu Predescu</a>

// 纯文本邮件
@author shane_curcuru@us.ibm.com

// 纯文本 组织
@author Apache Software Foundation

// 超链接组织地址 纯文本组织
@author <a href="https://jakarta.apache.org/turbine"> Apache Jakarta Turbine</a>

  1. @version :版本号
    例:
package com.sun.org.apache.xml.internal.resolver;
 /**
 * @version 1.0
 */
public class Resolver extends Catalog {}
  1. @param:方法的入参名及描述信息,如入参有特别要求,可在此注释**
    例:
/**
* @param <E> the type of elements in this list
*/
public interface List<E> extends Collection<E> {}
  1. @return:对函数返回值的描述/注释
    例:
/**
* @return {@code true} if the {@code String} is not {@code null}, its
*/
public static boolean hasText(@Nullable String str){}

5.@throws:构造函数或方法会抛出的异常

/**
* @throws IllegalArgumentException when the given source contains invalid encoded sequences
*/
public static String uriDecode(String source, Charset charset){}

  1. @exception:同@throws
    例:
    /**
  • @exception IllegalArgumentException if key is null.
    */
    public static Object get(String key) throws IllegalArgumentException {}
  1. @see:引用,查看相关的内容,如类,方法,变量等,必须顶头写
    例一:
/**
 * @see IntStream
 * @see LongStream
 * @see DoubleStream
 * @see <a href="package-summary.html">java.util.stream</a>
 * /
public interface Stream<T> extends BaseStream<T, Stream<T>> {}

例二:

/**
* @see java.net.URLDecoder#decode(String, String)
*/
public static String uriDecode(String source, Charset charset){}
  1. @since:API在什么程序的什么版本后开发支持
    例:
package java.util.stream;

/**
* @since 1.8
*/
public interface Stream<T> extends BaseStream<T, Stream<T>> {}
package org.springframework.util;

/**
* @since 16 April 2001
*/
public abstract class StringUtils {}
  1. @link:{@link 包名.类名#方法名(参数类型)}
    例:
// 完全限定的类名
{@link java.lang.Character}

// 省略包名
{@link String}

// 省略类名,表示指向当前的某个方法
{@link #length()}

// 包名.类名.方法名(参数类型)
{@link java.lang.String#charAt(int)}

10.@value:当对常量注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值
例:

/** 默认数量 {@value} */
private static final Integer QUANTITY = 1;
  1. @code:{@code text}将文本标记为code,会被解析成 text } ,在Javadoc成只要涉及到类名或者方法名,都需要使用@code进行标记
  2. @inheritDoc:用于继承父类中的Javadoc,父类的文档注释,被继承到了子类
    @inheritDoc用于注解在重写方法或者子类上,用于继承父类中的Javadoc
    基类的文档注释被继承到了子类
    子类可以再加入自己的注释(特殊化扩展)
    @return @param @throws 也会被继承
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值