Home

韧桂

思考,总结

JDK新特性之可变个数的形参的方法

package six;
/*
可变个数的形参的方法:
1.格式:对于方法的形参:数据类型 ... 形参名
2.可变个数的形参的方法与同名的方法之间构成重载
3.可变个数的形参在调用时,个数从0开始,到无穷多个都可以
4.使用可变多个形参的方法与方法的形参使用数组是一致的。
5.若方法中存在可变个数的形参,那么一定要声明在方法形参的最后。
6.在一个方法中,最多声明一个可变个数的形参。
 */


public class TestArgs {
    public static void main(String[] args) {
        TestArgs t = new TestArgs();
        t.sayHello();
//        t.sayHello(new String[]{"Hello China","Hello ShenZhen"});
        t.sayHello("Hello China","Hello ShenZhen");
    }

    //在类中一旦定义了重载的可变个数的形参的方法以后,如下的两个方法可以省略。
//    //如下三个方法构成重载
//    public void sayHello(){
//        System.out.println("Hello World");
//    }
//    public void sayHello(String str1){
//        System.out.println("Hello " + str1);
//    }
    //可变个数的形参的方法
    public void sayHello(String ... args){
        for(int i = 0;i < args.length;i++) {
            System.out.println(args[i] + "@");
        }
//        System.out.println("==========");
    }
    public void sayHello(int i ,String ... args){
//    public void sayHello( String ... args, int i){//非法
        System.out.println(i);
        for(int j = 0;j < args.length;j++) {
            System.out.println(args[j] + "@");
        }
    }
    public void sayHello1(String[] args){
        for(int i = 0;i < args.length;i++) {
            System.out.println(args[i]);
        }
    }

    //可变个数形参的使用例子
//    public int getSum(int i, int j){
//        return i + j;
//    }
//    public int getSum(int i, int j,int k){
//        return i + j + k;
//    }
    public int getSum(int ... args){
        int sum = 0;
        for(int i = 0;i < args.length;i++){
            sum += args[i];
        }
        return sum;
    }

}

韧桂 2019-12-24