我和你99谁做的网站百度指数工具
前言
我们虽然能够用重载实现,但多个参数无法弹性匹配
代码
class mycalculator{//下面的四个calculate方法构成了重载//计算2个数的和,3个数的和,4,5,6个数的和// public void calculate(int n1){// System.out.print("平法"+(n1*n1));// }// public void calculate(int n1,int n2){// System.out.print("相乘"+(n1*n2));// }// public void calculate(String str){// System.out.print(str);// }//上述三个方法名相同,功能相同,参数个数不同public int calculate(int... nuns){//表示是可变参数,类型是int 可以接受多个intSystem.out.print("接受的参数个数"+nuns.length);return 0;}
}my.calculate(1);my.calculate(1,2,3);my.calculate(1,2,3,4);
结果
接受的参数个数1接受的参数个数3接受的参数个数4
实参为数组
int[] arr={1,2,3};
我们可以发现这个可变参数的实质就是数组了
保证可变参数在后
int[] arr={1,2,3};public class overload{//编写一个main方法public static void main(String[] args) {mycalculator m=new mycalculator();//可变参数的实参可以为数组int[] arr={1,2,3};m.calculate("w",arr);// my.calculate(1,122);// my.calculate("这些数掌握了吗");}
}
class mycalculator{public void calculate(String a,int... nuns){//表示是可变参数,类型是int 可以接受多个intSystem.out.print("接受的参数个数"+nuns.length+a);}
}//三个int的和
// public int calculate(int n1,int n3,int n2){
// return n1+n2;
// }
// }
结果
接受的参数个数3w