方法重载与可变个数形参
-
方法重载
同一个类中的不同方法依靠方法名和形参列表来相互区分.当方法名相同,形参列表名不同时,成为方法重载.方法的重载不能依靠返回类型或依靠形参变量名来区分,而仅依靠方法名和形参列表(的长度和形参类型).
-
可变个数形参
在 JDK5.0 之前,采用数组的方式来传递多个同类型的形参. JDK5.0 引入可变数量形参,来传递多个同类型变量.
二者的区别在于如果使用数组,那么传递参数时需要将参数打包进一个数组中,将数组作为参数传递,较为麻烦;但是可变数目形参只能作为形参列表的最后一个,其后不能再有形参,而使用数组可以放在任意位置.
-
格式
在类型后加三个点来表示可变个数形参
T... p
在代码中
return_type method(T1 para1, T2 para2, T3... prara){ }
在使用时,等同与一个数组.
-
实例
求最大值的函数
static int getMax(int... nums) { int res=Integer.MIN_VALUE; for (int num : nums) { res=res<num?num:res; } return res; }
调用
System.out.println(getMax(1, 2, 3, 4, 5));
其中可以有任意个数字,可以用来求2个数、3个数、n个数之中的最大者.