---------------------- 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.youkuaiyun.com/heima