java支持在一个方法内传递数量不定的同类型的参数,这就是可变参数传递。
1、可变参数传递格式
[修饰符][返回类型]方法名([参数类型]...参数名) {
方法体
}
public class Main {
// 正常方法求和,显然比较麻烦
public static int sum1(int a, int b, int c, int d, int e) {
return a + b + c + d + e;
}
// 用可变参数求和,方便多了
public static int add(int ...a) {
int sum = 0;
for (int x : a) {
sum += x;
}
return sum;
}
public static void main(String[] args) {
//这边只给可变参数例子,显然很方便
int sum = add(1,2,3,4,5,6,7,8,9,10);
System.out.println(sum);
}
}
2、要注意的地方
一个方法中可以定义多个参数,但是可变参数只能定义一个,而且它的位置一定在最后。可变参数在java编译时会被处理为一个相应类型的数组。
补充:方法可以重载,但是优先级不同。若存在两个名称相同的但是入参不同的方法,当调用这样的的方法时,固定参数的方法会被优先调用。