现在的位置: 首页 > 综合 > 正文

黑马程序员-Java帮助文档的编写制作

2013年10月14日 ⁄ 综合 ⁄ 共 2945字 ⁄ 字号 评论关闭

----------------------
ASP.Net+Android+IOS开发
.Net培训、期待与您交流! ----------------------

Java中的static关键字用于修饰静态成员变量。它可以修饰类中共享的数据。每一个应用程序都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用。
比如定义一个工具类,类中有一些对数组操作的成员函数,如返回最大值,排序等。虽然可以通过建立工具类的对象使用这些工具方法,对数组进行操作,但有以下缺陷:
1,对象是用于封装数据的,可是工具类对象并未封装特有数据
2,操作数组的每一个方法都没有用到工具类对象中的特有数据
这时就可以考虑,让程序更严谨,不需要对象。可以将工具类中的方法都定义成静态(static)的,直接通过类名调用即可。
将方法都静态修饰后,可以方便使用,但是该类还是可以被其他程序建立对象,为了更为严谨,可以强制让该类不能建立对象,所以可以通过将构造函数私有化来实现。

接下来可以将该工具类的类文件发给其他人,他只要将该文件设置到classpath路径下,就可以使用该工具类。但是该类文件不可见,所以对方不清楚该类的使用方法,所以需要制作程序的说明书。java的说明书通过文档注释来完成。

下面我们来制作一份简易的ArrayTool类工具文档,该工具类提供以下功能

static void bubbleSort(int[] arr)给int数组进行冒泡排序。
static int getMax(int[] arr)获取一个整型数组中的最大值
static int getMin(int[] arr)获取一个整型数组中的最小值
static void printArray(int[] arr)用于打印数组中的元素。

static void selectSort(int[] arr) 给int数组进行选择排序。

/**
这是一个可以对数组进行操作的工具类,该类中提供了,获取最值,排序等功能。
@author Xuebin Zhou
@version V1.1


*/

public class ArrayTool {
	//将构造函数私有化,使该类不能创建对象。
	/**
	空参数构造函数。
	*/
	private ArrayTool() {}
	/**
	获取一个整型数组中的最大值
	@param arr 接收一个int类型的数组。
	@return 会返回该数组中的一个最大值。
	*/
	public static int getMax(int[] arr) {
		int max = 0;
		for (int x = 1; x < arr.length; x++) {
			if (arr[x] > arr[max]) 
				max = x;
			return arr[max];
		}
	}
	/**
	获取一个整型数组中的最小值
	@param arr 接收一个int类型的数组。
	@return 会返回该数组中的一个最小值。
	*/
	public static int getMin(int[] arr) {
		int min = 0;
		for (int x = 1; x < arr.length; x++) {
			if (arr[x] < arr[min]) 
				min = x;
			return arr[min];
		}
	}
	/**
	给int数组进行选择排序。
	@param arr 接受一个int类型的数组。
	*/
	public static void selectSort(int[] arr) {
		for (int x = 0; x < arr.length - 1; x++) {
			for (int y = x+1; y < arr.length; y++) {
				if (arr[x] > arr[y]) {
					swap(arr, x, y);
				}
			}
		}
	}
	/**
	给int数组进行冒泡排序。
	@param arr 接收一个int类型的数组。
	*/
	public static void bubbleSort(int[] arr) {
		for (int x = 0; x < arr.length - 1; x++) {
			for (int y = 0; y < arr.length - x - 1; y++) {
				if (arr[y] > arr[y+1]) {
					swap(arr, y, y+1);
				}
			}
		}
	}
	/**
	给数组中的元素进行位置的置换。
	@param arr 接受一个int类型的数组。
	@param a 要置换的位置
	@param b 要置换的位置
	*/
	private static void swap(int[] arr, int a, int b) {
		int temp = arr[a];
		arr[a] = arr[b];
		arr[b] = temp;
	}
	/**
	用于打印数组中的元素。打印形式是:[element_1, element_2, ...]
	@param arr 接收一个int类型的数组。
	*/
	public static void printArray(int[] arr) {
		System.out.print("[");
		for (int x = 0; x < arr.length; x++) {
			if (x != arr.length - 1)
				System.out.println(arr[x] + ", ");
			else
				System.out.println(arr[x] + "]");
		}
	}
}

代码中的注释段如果要呈现在类使用说明文档上,需要被注释在/** */代码段中。该注释代码段内可以提供方法说明,参数说明,文档作者,版本信息等信息。我们将该段代码用下面的语句来编译,即可获得一份说明文档:

javadoc -d myhelp -author -version ArrayTool.java

此语句运行后,会在当前目录下生成一个myhelp文件夹,文件夹内会创建一些说明文档,即为我们想创建的类说明书,截图如下:

java自定义文档文件视图

然后我们打开其中的索引页面,即index.html,则截图如下:

自定义帮助文档

一个类中默认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一直。如果类被public修饰,那么默认的构造函数也带public修饰符。如果类没有被public修饰,那么默认的构造函数也没有public修饰符。默认构造函数的权限是随着类的变化而变化的。可以看到其中的静态方法成员。

使用该类时,直接用类名即可调用其方法。下面我们通过一个简单的示例来展示如何使用该自定义的类:

class ArrayToolDemo {
	public static void main(String[] args) {
		int[] arr = {23, 14, 67, 43, 29, 87, 125, 49, 43, 10};
		int max = ArrayTool.getMax(arr);
		int min = ArrayTool.getMin(arr);
		ArrayTool.bubbleSort(arr);
		System.out.println("Max = " + max);
		System.out.println("Min = " + min);
		ArrayTool.printArray(arr);
	}
}

先编译ArrayTool.java,然后编译ArrayToolDemo.java,然后运行,即可得出如下结果:

Max = 125
Min = 10
[10, 14, 23, 29, 43, 43, 49, 67, 87, 125]

通过这两个示例,我们已经能做出简单的帮助文档,以及可以使用别人制作的工具类来完成自己所要实现的功能了。

----------------------
ASP.Net+Android+IOS开发
.Net培训、期待与您交流! ----------------------

抱歉!评论已关闭.