本帖最后由 jacktang 于 2012-1-8 19:17 编辑
昨晚学到了 静态的那方面,今天找个几个问题想请教各位,我是参考毕老师的教学视频
第一个问题 讲的时候说,讲方法静态后方便使用,但该类还是可以被其他程序创建对象,为了不让建立对象,将构造函数私有化。。。我不明白为什么要阻止建立对象.....建立对象对哪方面造成影响吗?,麻烦详细点谢谢
第二个问题 为什么所有的功能都要加public 我试试不加好像也可以运行的。
public class ArrayTool
{
private ArrayTool(){} // 第一个问题
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];
}
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];
}
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);
}
}
}
}
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);
}
}
}
}
private static void swap(int[] arr,int a,int b)
{
int temp = arr[a];
arr[a] = arr;
arr = temp;
}
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]+"]");
}
}
} |