当然了如果把你的程序改成这样
public class changeParameter
{
public changeParameter(int a){
System.out.println("调用了int 单个方法");
}
public changeParameter(int... args){
System.out.println("调用了args方法");
}
public static void main(String[] args) {
new changeParameter(5);
new changeParameter(5,65);
new changeParameter(); //他调用的还是public changeParameter(int... args)方法
}
}
你定义的那个(int...args)实际上是(int[] args)的一种简写格式,但如果要定义成(int[] args),你就得传一个数组了,new changeParameter(new int[]{1,2,34};而且数组形式的形参可以处于形参列表的任意位置,但个数可变的形参只能处于参数列表的最后了(int a,String...args),也就是说,一个方法里面最多只能定义一个长度可变的形参
|