需求:遍历数组。
有2个类
ArrayDemo类遍历数组
ArrayTool类是关于数组的,里面有遍历数组的方法
static和构造方法私有,可以达到外界只能通过类名直接调用的目的。
public class ArrayDemo {
public static void main(String[] args) {
int arr[] = { 1, 2, 3, 4, 5 };
//1 main方法是静态的,只能调用静态方法。
//2如果ArrayTool方法是静态的,可以通过创建对象使用,但最好是直接通过类名调用
//3如果ArrayTool方法是非静态的,就不可以直接通过类名调用,只能创建对象调用
//4非静态方法
ArrayTool ad=new ArrayTool();
ad.ArrayTool(arr);
//5方法改进为静态后,就可以直接通过类名调用.
ArrayTool.ArrayTool(arr);
//6那么问题来了,如果ArrayTool方法是static静态的,既可以调对象,又可以直接类名引用,但是最好直接类名调用。
//7如何才能强制只能使用直接用类名调用呢?
//8把ArrayTool里面的构造方法私有,外界(main方法)就不能在创建对象了,只能用类名直接调用
}
}
class ArrayTool {
//把构造方法私有,外界就不能在创建对象了
private ArrayTool() {}
//遍历数组的方法
public static void ArrayTool(int[] arr) {
for (int a = 0; a < arr.length; a++) {
if (a == arr.length - 1) {
System.out.print(arr[a]);
} else
System.out.print(arr[a] + ", ");
}
}
}