A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© homeless 中级黑马   /  2014-3-16 09:51  /  664 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

今天想着复习一下,看到了可变参数,突然想到,可参数和固定参数会重载吗,重载了会出现什么情况呢。
瞎猜半天不如动手,就试了下,发现:可变参数可以重载,毕竟它也是一种参数类型,符合语法。
只是在调用时,会优先调用对应个数的重载方法,找不到才调用可变参数的方法。
当冲突时,如果一定要调用可变参数的方法,只能传数组。
好像没人会这么写程序,直接换个名字多好,是吧。
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

        }
}


评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马