在此之前已经在本书中介绍过数组了。现在既然你已了解了类,可以介绍关于数组的重要的一点:数组是作为对象来实现的。因此,你可能想要利用数组的一种非凡的属性,具体地说,就是一个数组的大小——也就是,一个数组能保存的元素的数目——可以在它的length 实例变量中找到。所有的数组都有这个变量,并且它总是保存数组的大小。下面的程序示例了这个性质:
// This PRogram demonstrates the length array member.
class Length {
public static void main(String args[]) { int a1[] = new int[10];int a2[] = {3,5,7,1,8,99,44,-10};int a3[] = {4,3,2,1};
System.out.println("length of a1 is " + a1.length);
System.out.println("length of a2 is " + a2.length);
System.out.println("length of a3 is " + a3.length);
}
}
该程序显示如下输出:
length of a1 is 10
length of a2 is 8
length of a3 is 4
可以看出,每个数组的大小都被显示。要记住length 的值和数组实际使用的元素的个数没有关系。length 仅反映了数组能够包含的元素的数目。
在许多情况下,你可以好好利用length 。例如,下面的程序是Stack类的改进版本。你可能回忆起,该类的早期的版本总是要产生一个10个元素的堆栈。下面的版本可以让你产生任意长度的堆栈。stck.length 的值用来防止堆栈溢出。
// Improved Stack class that uses the length array member.
class Stack { private int stck[]; private int tos;
// allocate and initialize stack
Stack(int size) {
stck = new int[size];
tos = -1;
新闻热点
疑难解答