基本概念:java 允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法
基本语法:
访问修饰符 返回类型 方法名(数据类型.....形参名){
}
注意事项:
1.可变参数的值可以是零,也可以是多个
class T{
public int sum(int... nums){
}
}
2.可变参数的实参可以为数组
public class LonP{
public static void main(String[] args){
//可变参数的实参可以是数组
int arr[] = {1,2,3,4,5,6};
T t1 = new T();
t1.f1(arr);
}
}
class T{
public void f1(int... nums){
System.out.println("长度等于 = " + nums.length);
}
}
3.可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后。
public class LonP{
public static void main(String[] args){
//可变参数的实参可以是数组
int arr[] = {1,2,3,4,5,6};
T t1 = new T();
t1.f1(arr);
}
}
class T{
public void f1(int... nums){
System.out.println("长度等于 = " + nums.length);
}
public void f2(String str , double... nums){
}
}
4.一个形参列表中只允许出现一个可变参数
案例:有三个方法,分别实现返回姓名和两门课成绩(总分),返回姓名和三门课成绩(总分),返回姓名和五门课成绩 (总分)。封装成一个可变参数的方法
public class homeWork{
public static void main(String[] args) {
lonMethod lon = new lonMethod();
System.out.println(lon.showScore("andy", 10 , 9 ));
System.out.println(lon.showScore("jack", 10 , 9 , 8 ));
System.out.println(lon.showScore("black", 10 , 9 , 8 , 8 + 6));
}
}
class lonMethod{
public String showScore(String names , int... nums){
int res = 0;
for(int i = 0; i < nums.length; i++){
res += nums[i];
}
return names + " de zong de cheng ji =" + res ;
}
}