5、数组与方法
数组是一个对象,它传递给方法传递的是一个对象的引用。
以数组为参数时,可以将同一类型的数目不定的元素一次性传递给方法。为了简化编程,java SE5引进了可变参数列表,就可以传递同一类型数目不定的参数。其方法的声明格式如下:
数据类型......参数名
例如:
class A
{
public static void method(int......arr){}
}
对于上述方法完全可以用下面的语句调用:
A.method ({1,2});
在java语言中,可变参数列表实际上是被当做数组来处理的,上面这个语句等同于以下语句:
A.method(new int[]{1,2});
也可以用以下语句调用:
A.method(1,2,3);
声明参数列表必须注意以下几点:
1.一个方法只能声明一个可变参数列表,而且这个可变参数列表必须是方法中最后的一个参数,不能放在其他位置!例如:
public static void method(int...arr,int x);//正确
public static void method(int x,int...arr);//错误
2.可变参数列表是可选的,即当没给可变参数列表传递参数时,可变参数列表会保持默认值(初始化为空的一维数组),不过,在可变 参数列表前有参数,调用时,其他参数必须用实参初始化。
3.可变参数列表使函数重载变得复杂。因此,在重载方法时,一般不使用可变参数列表,如果使用也是只有一个方法使用可变参数列表。