13-面向对象-可变参数

马铃薯1 / 2023-08-03 / 原文

一、可变参数

1. 基本概念

Java允许将同一个类中多个同名同功能,但参数个数不同的方法,封装成一个方法,就可以通过可变参数实现。

2. 基本语法

访问修饰符 返回类型 方法名(数据类型... 形参名){

  方法体;  

}

public class VarParameter01 {
    public static void main(String[] args){

        HspMethod m = new HspMethod();
        int num1 = m.sum(1,2,3,4,5,6);
        System.out.println("可变参数: num1 = " + num1);
    }
}

class HspMethod{
    //可以计算两个数的和,三个数的和,四,五...
    //可以使用方法重载

    //两个数的和
    public int sum(int n1, int n2){
        return n1 + n2;
    }
    //三个数的和
    public int sum(int n1, int n2, int n3){
        return n1 + n2 + n3;
    }
    //四个数的和
    public int sum(int n1, int n2, int n3, int n4){
        return n1 + n2 + n3 + n4;
    }

    //上面的三个方法名称相同,功能相同,参数个数相同 --> 使用可变参数优化
    //1. int... 表示可以接收的是可变参数,类型是int,即可以接收多个int(0-多)
    //2. 使用可变参数时,可以当作数组来使用,即 nums 可以当作数组
    //3. 遍历 nums 求和即可
    public int sum(int... nums){
        System.out.println("接收的参数个数:" + nums.length);
        //遍历 nums 求和
        int res = 0;
        for(int i = 0; i < nums.length; i++){
            res += nums[i];
        }
        return res;
    }
}