- package test;
- public class ArgsTest {
- public static void main(String[] args) {
- //两个方法输出结果一致
- int a = argsTest(1,2,3);
- System.out.println("可变参数方法:"+a);
-
- int b = arrTest(1,new int[]{2,3});
- System.out.println("数组方法"+b);
-
- }
- //可变参数
- public static int argsTest(int a, int...args){
-
- int sum = 0;
- //args是可变参数,但是该方法的第一个参数a不在args中,所以args[0]从2开始
- //a=1 args={2,3}
- for(int i=0;i<args.length;i++){
- sum += args[i];
- }
- return sum;
- }
- //该方法同上边的argsTest()方法,唯一不同的是可变参数在这里被替换成了数组
- public static int arrTest(int a, int[] arr){
- int sum = 0;
- //这里可以一目了然的区分,两个参数
- //a=1 arr={2,3}
- for(int i=0;i<arr.length;i++){
- sum += arr[i];
- }
- return sum;
- }
- }
复制代码
这里用数组做参数的方式,把你的方法又写了一遍,你对比着看一下就会明白了。需要注意的是:这个方法是完全相同的而不是重载。 |