目录
一、可变参数
Java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法,通过可变参数实现。
基本语法
访问修饰符 返回类型 方法名(数据类型...形参名){
}
示例代码:
public class VerParameter01 {
public static void main(String[] args) {
A a = new A();
System.out.println(a.sum(1, 3, 4));
}
}
class A{
//int... 表示接受的是可变参数,类型是int,即可以接受多个int(0~多个)
//可变参数想当于数组。
public int sum(int... nums){
int sum = 0;
for (int i = 0; i <nums.length ; i++) {
sum += nums[i];
}
return sum;
}
}
二、注意事项
1、可变参数的实参可以是0个或者任意多个
2、可变参数的实参可以是数组。
示例代码:
public class VerParameter01 {
public static void main(String[] args) {
A a = new A();
int[] arr = {1,4,5};
System.out.println(a.sum(arr));
}
}
class A{
//int... 表示接受的是可变参数,类型是int,即可以接受多个int(0~多个)
//可变参数想当于数组。
public int sum(int... nums){
int sum = 0;
for (int i = 0; i <nums.length ; i++) {
sum += nums[i];
}
return sum;
}
}
3、可变参数的本质就是数组。
4、可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后。
5、一个形参列表中只能出现一个可变参数。
三、相关案例
有三个方法,分别实现返回姓名和两门课成绩(总分),返回姓名和三门课成绩(总分),返回姓名和五门课成绩(总分)。封装成一个可变参数的方法。
示例代码:
public class Over {
public static void main(String[] args) {
Method method = new Method();
System.out.println(method.showScore("小明", 23, 78.5));
}
}
class Method{
public String showScore(String name,double... scores){
double total = 0;
for (int i = 0;i< scores.length;i++){
total += scores[i];
}
return name + "成绩总分为:" + total;
}
}