靜態的應用。
每一個應用程序中都有共性的功能,
可以將這些功能進行抽取,獨立封裝。以便複用。
將方法都靜態後,可以方便於使用,但是該類還是可以被其他程序建立對象的。
爲了更爲嚴謹,強制讓該類不能建立對象。
可以通過將構造函數私有化完成。
接下來,將ArrayTool.class文件發送給其他人,其他人只要將該文件設置到classpath路徑下,就可以使用該工具類。
但是,很遺憾,該類中到底定義了多少個方法,對方去不清楚。因爲該類並沒有使用說明書。
開始製作程序的說明書。java的說明書通過文檔註釋來完成。
*/
/**
這是一個可以對數組進行操作的工具類,該類中提供了,獲取最值,排序等功能。
@author 張三
@version V1.1
*/
//javadoc -d myhelp -author -version ArrayTool.java
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;
}
/**
用於打印數組中的元素。打印形式是:[elemet1, element2, ...]
*/
public static void printArray(int[] arr)
{
System.out.print("[");
for(int x=0; x<arr.length; x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+", ");
else
System.out.println(arr[x]+"]");
}
}
}
一個類中默認會有一個空參數的構造函數,
這個默認的構造函數的權限和所屬類一致。
如果類被public修飾,那麼默認的構造函數也帶public修飾符。
如果類沒有被public修飾,那麼默認的構造函數,也沒有public修飾。
默認構造函數的權限是隨着類的變化而變化的。
二、幫助文檔的生成
Javac –d mydirector –author –version ArrayTool.java
生成幫助文檔的類必須public權限
只有public與proctected權限在幫助文檔中顯示提取.