java提供了大量的基础类供我们使用,但是这么多的类,方法,我们是怎么知道的呢?从哪里可以查到呢?原来Oracle公司在为我们提供这些类的同时也为我们提供了相应的API文档,这些API文档就是告诉我们如何去使用这些类以及这些类的方法。
那么像这样的API文档是怎样制作的呢?
其实java语言提供了一种很强大的注释功能:文档注释。我们在编写源代码的时候可以为这些代码添加合适的注释,然后通过JDK提供的Javadoc工具直接将源代码里的文档注释提取出来形成一份API文档。
API文档相当于产品说明书,所以Javadoc默认处理public,protected修饰的类,接口,方法,成员变量,构造器,和内部类之前的文档注释。但是如果想Javadoc提取private修饰的内容也是可以的,只要加上选项 -private 就可以了。
Javadoc的使用
一个java类的文档
javadoc -d apidoc -windowtitle test -doctitle MyApiDoc -header MyClass *.java
多个包的文档
javadoc -d apidoc -windowtitle test -doctitle MyApiDoc -header MyClass pack pack pack
-d<directory> 后面跟文档输出路径
-windowtitle <text> 指定字符串,用于设置API文档的窗口标题。
-doctitle <html-code> 指定一个HTML文本,用于指定窗口的标。
还有很多,具体请使用javadoc -help 查看
源代码的javadoc标记
-@author
-@version
-@param
-@return
-@throws
-@exception
描述包要在同级目录下产生一个package.html文档,在<body>标签里写包的描述
例:
HelloWord 文件夹下有 input 和print 两个文件夹,这两个文件夹里都有一个package.html和各自的 .java 文件。
package input;
/**
*这是input类
*@author zhou
*@version 1.0
*/
public class input{
/**
* 这是get方法
* @param c 形参传入一个字符
*/
public void get(char c){
System.out.println(c);
}
/**
* 这是gets方法
* @param s 形参传入一个字符串
*/
public void gets(String s){
System.out.println(s);
}
}
package print;
/**
*这是print类
*@author zhou
*@version 1.0
*/
public class print{
/**
* 这是printchar方法
* @param c 形参,传入一个字符串
*/
public void printchar(char c){
System.out.print(c);
}
/**
* 这是printchars方法
* @param s 形参传入一个字符串
*/
public void printchars(String s){
System.out.print(s);
}
}
<body>
print描述包
</body>
<body>
input描述包
</body>
执行javadoc
C:\Users\HASEE\OneDrive\桌面\java\HelloWord>javadoc -d apidoc -windowtitle test -doctitle MyApiDoc -header MyClass input print
结果:
会在HelloWord文件夹下生成apidoc文件,apidoc下的index.html就是提取注释生成的API文档。