Java的可变参数

本文阅读 2 分钟
首页 代码,Java 正文

这里面涉及到方法的重载的概念,如果不清楚的话,可以点击下面链接看看

方法的重载和重写

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

访问修饰符 返回类型 方法名(数据类型… 形参名) {
<!-- -->

}

假设现在有一个需求,需要我们完成一个功能,它可以计算2个数的和,3个数的和,4,5…… 我们可以看出来参数个数不确定。 分析:如果不用可变参数的话,我们就得写很多的同名方法

下面是一个入门小案例:

public class VarParameter01 { 

//编写一个 main 方法
public static void main(String[] args) { 

    HspMethod m = new HspMethod();
    System.out.println(m.sum(1, 5, 100)); //106
    System.out.println(m.sum(1, 19)); //20
    }
}

class HspMethod { 
 
public int sum(int... nums) { 
    //System.out.println("接收的参数个数=" + nums.length);
    int res = 0;
    for(int i = 0; i < nums.length; i++) { 
    
        res += nums[i];
        
    }
        return res;
    }
    
}

img 下面我们来判断一下,下面的代码能不能写在同一个类中

public void print(int[] arr){ 
    for(int i=0;i<arr.length;i++){ 
        System.out.println(arr[i);
    }
}
public void print(int...arr){ 
    for(int i=0;i<arr.length;i++){ 
        System.out.println(arr[i);
    }
}

我们可以看出这样其实是不行的,可变参数本质是数组,但是上面的第一个方法的参数是数组,两个方法的方法名相同,参数列表也一样,不构成重载,很明显,它们是同名方法,所以不能出现在同一个类中

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://zengyihong.blog.csdn.net/article/details/122942624
-- 展开阅读全文 --
安全面试之XSS(跨站脚本攻击)
« 上一篇 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复