今天看源码,突然发现有个方法的类型为 public void functionName(paramtType... paramtName) { ..........},不明白是什么意思 ,通过调用才知道这种方法的参数是可以动态调节的 ,就是我可以同类型的参数传无数个过来 ,话不多说,直接上代码
public static int sum(int a, int... s) {
for (int i : s) {
a += i;
}
return a;
}
这是一个很简单的方法 ,就是把传进来的参数相加,接下来我们看看怎么调用
public static void main(String[] args) {
//传一个参数
int a = sum(1);
//传两个参数
int b = sum(1, 2);
//传三个参数
int c = sum(1,2,3);
//传四个参数
int d = sum(1,2,3,4);
//传五个参数
int e = sum(1,2,3,4,5);
System.out.println("a = "+a);
System.out.println("b = "+b);
System.out.println("c = "+c);
System.out.println("d = "+d);
System.out.println("e = "+e);
}
注意:同一个方法我们传了不同个数的参数 ,编译器没有报错
有朋友们肯定该问了 ,重载方法不是可以实现吗 ,但是我要告诉你们的是重载的话,只能你定义的方法可以调用,做不到这么智能的调用,
调用结果: