变长参数

先有如下需求:返回实参中的最大者。但由于实参的个数不确定,难以采用重载的办法。

解决:在定义方法时将形参的格式定义如下:

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、一个方法只能有一个变长参数

posted @ 2016-06-21 18:06  Mr流氓  阅读(329)  评论(0编辑  收藏  举报