工具类:类里全是静态的方法,因为这种类只提供工具方法,而不封装特有数据。
由于在这种类里不需要创建对象,但是又由于类里有默认的构造函数,它可以创建对象,为了防止其他程序用该类创建无意义的对象,强制它不能创建对象,可以将构造函数私有化。
javadoc
javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过javadoc就可以同时形成程序的开发文档了。javadoc工具在jdk的bin目录下。
工具类编写出来后可以在其他地方直接使用。但是需要通过javadoc来形成开发文档供阅读才能知道如何使用这个工具类。这个前提是在代码中添加文档注释。格式必须是/* 代码 /
要将一个类进行文档化,该类必须是公共(public)的。一个类是公共的,那么文件名和类名必须一致。类被提升为public后,权限更大。
在dos窗口中输入:
javadoc -d mydir -author -version ArrayTool.java
-d 输出文件文件的目标目录 没有这个目录就新建了一个目录这里是新建了mydir目录)
打开mydir目录就有index.html文件,里面就是这个类的描述文档。
/**
建立一个用于操作数组的工具类,其中包含着常见的对数组操作的函数如:最值,排序等。
@author 哼哼
@version 1.0
*/
public class ArrayTool
{//类里面没有成员变量,所有的方法里面也没有访问特有的数据,所以可以用静态
private ArrayTool(){}//构造函数私有化,不能用该类创建对象
/**
获取整形数组的最大值.
@param arr 接收一个元素为int类型的数组。
@return 该数组的最大元素值。
*/
public static int getMax(int[] arr)
{
int maxindex=0;
for(int i=1;i<arr.length;i++)
{
if(arr[i]>arr[maxindex])
{
maxindex=i;
}
return maxindex;
}
}
/**
对数组进行选择排序
@param arr 接收一个元素为int类型的数组。
*/
public static void selectSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int j=i+1;j<arr.length-1;j++)
{
if(arr[i]>arr[j])
swap(arr,i,j);
}
}
}
/**
用于给数组进行元素的位置置换。其实这个注释不用写,因为此函数是私有的。
@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];
ar[b]=temp;
}
/**
获取指定元素在指定数组的索引.
@param arr 接收一个元素为int类型的数组。
@param key 要找的元素。
@return 返回该元素第一次出行的位置,如果不存在返回-1。
*/
public static int getIndex(int[] arr,int key)
{
for(int x=0;x<arr.length;x++)
{
if(arr[x]==key)
return x;
}
return -1;
}
/**
将int数组转换为字符串。格式是:e1,e2,...
@param arr 接收一个元素为int类型的数组。
@return 返回该数组的字符串表现形式。
*/
public static String arrayToString(int[] arr)
{
String str="";//此时str的已经赋值,不是null
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
str=str+arr[x]+",";
else
str=str+arr[x];
}
return str;
}
}
class ArrayToolDemo
{
public static void main(String[] args)
{
int arr={4,5,3,78,6,7};
//ArrayTool tool=new ArrayTool();
//int max=tool.getMax(arr);
int max=ArrayTool.getMax(arr);
System.out.println("max="+max);
//int index=tool.getIndex(arr,10);
int index=tool.getIndex(arr,10);
System.out.println("index="+index);
}
}
注意:ArrayToolDemo类调用ArrayTool.class时要注意ArrayTool.class所在的路径,在dos窗口可以临时修改环境变量:set classpath=.;c:myclass
或者set classpath = .%class
其中,;表示当前目录,后面的是指定的某一个目录。(这里是文件在两个目录里,需要将两个目录都加到classpath中。)