标签:
先有如下需求:返回实参中的最大者。但由于实参的个数不确定,难以采用重载的办法。
解决:在定义方法时将形参的格式定义如下:
int getMax(int first,int...varArgs){
for(int i:varAgus)
....
}
调用:
System.out.println("max(1)="+demo.getMax(1)+" ");//1
System.out.println("max(2)="+demo.getMax(2,1)+" ");//2
System.out.println("max(3)="+demo.getMax(6,4,5,9,8,7)+" ");//9
说明:
1、变长参数实际上编译时会转换成数组。
2、变长参数只能出现在形参中。
3、若在重载的方法中,有些有变长参数,有些没有,则优先调用没有变长参数的方法。若定义int getMax(int First),则第一个方法会优先调用此方法
4、若重载方法均含有变长参数,则报错
5、一个方法只能有一个变长参数
标签:
原文地址:http://www.cnblogs.com/LastGreenHand/p/5604550.html