嘿牛程序员__成都传智博客__可变参数举例

---------------------- android培训java培训、期待与您交流! ----------------------

 

微笑

可变参数的应用
下面的两个方法,我们已经使用过多次来避免添加或删除方法签名中参数对客户端调用的影响。
1、使用数组或集合作为输入参数
 2、使用对象将输入参数的属性进行封装
现在java jdk5提供了动态参数方法,方面了我们的程序实现

package javaVararg;
public class TestVararg {
 /**
  * 可变参数的应用
  * 主要应用于重载(overload)中
  * 重载是指将参数个数与调用方法的列表类型匹配,返回对应的值
  * 使用可变参数,可以减少定义相同类型方法的个数,让程序更加简化
  */
 public static void main(String[] args) {
       System.out.println(add1(1,2,3,4,5));
       int [] a={1,2,3,4,5};
       System.out.println(add2(a));
       System.out.println(add3(1,2,3,4,5));
       System.out.println(add4(1,2,3,4,5));  
 }
 /**
  * 实现重载(overload)的方式一
  * 实现几个不同数量个数的方法
  * 这样做的好处是,可以直接调用,不需要通过数组等来实现。但是程序题很臃肿
  *
  */
 public static int add1(int a, int b,int c,int d,int e) {
  return a + b+c+d+e;
  }
 public static int add1(int a, int b,int c,int d) {
  return a + b+c+d;
  }
 public static int add1(int a, int b) {
  return a + b;
  }
 /**
  * 实现重载(overload)的方式二
  * 利用数组,可以实现定义多个值的参数调用。缺点就是数组必须事先定义
  */
 public static  int add2(int[] args) {
  int sum = 0;
  for (int i=0; i < args.length; i++) {
  sum += args[i];
  }
  return sum;
   }
 /**
  * 实现重载(overload)的方式三
  * 可变参数
  * 实现参数调用的动态化,就是说你可以根据实际情况输入需要的参数个数。
  * 它克服了之前需要定义数组的麻烦。将数组定义到方法体内
  * 方法的参数定义有两种方式,分别见下面(一)、(二)
  */
 /**
  * 实现(一)
  */
 public static int add3(int x,int... args) {
  int sum = x;
  for (int i=0 ; i< args.length;i++) {
   sum += args[i];
  }
  return sum;
  }
 /**
  * 实现(二)
  */
 public static int add4(int... args) {
  int sum = 0;
  for (int i=0 ; i< args.length;i++) {
  sum += args[i];
  }
  return sum;
  } 
}

再见

 

 

---------------------- android培训java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值