黑马程序员技术交流社区

标题: 可变参数-----重载---发现个玩意儿 [打印本页]

作者: homeless    时间: 2014-3-16 09:51
标题: 可变参数-----重载---发现个玩意儿
今天想着复习一下,看到了可变参数,突然想到,可参数和固定参数会重载吗,重载了会出现什么情况呢。
瞎猜半天不如动手,就试了下,发现:可变参数可以重载,毕竟它也是一种参数类型,符合语法。
只是在调用时,会优先调用对应个数的重载方法,找不到才调用可变参数的方法。
当冲突时,如果一定要调用可变参数的方法,只能传数组。
好像没人会这么写程序,直接换个名字多好,是吧。
public class AmountVarietyParameter {

       
       
public void fuc(int a){
         System.out.println("一个参数"+a);
}
public void fuc(int a,int b){
         System.out.println("两个参数"+a+"+"+b+"="+(a+b));
}
public void fuc(int... a){
         int sum=0;
         for(int i=0;i<a.length;i++){
                 sum+=a[i];
         }
         System.out.println("多个参数,和:"+sum);
}
public static void main(String[] args) {
                AmountVarietyParameter avp=new AmountVarietyParameter();
                avp.fuc(1);//一个参数1
                avp.fuc(1,3);//两个参数1+3=4
                avp.fuc(1,3,4,5);//可变参数,和:13
                avp.fuc(new int[]{1});//可变参数,和:1
                avp.fuc(new int[]{1,3});//可变参数,和:4

        }
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2