【Java基础】方法的重载、可变形参

1.方法重载

同一个类(或子父类)中,方法名相同,参数个数或参数类型不同。
根据方法的参数列表的不同来区分。

    public int add(int x,int y){
        return x+y;
    }
    
    public int add(int x,int y,int z){
        return x+y+z;
    }
    
    public double add(double x,double y){
        return x+y;
    }

跟方法的权限修饰符、返回值类型、形参变量名、方法体都没关系!

2.可变个数形参

(1)历史
JDK5.0 以前:采用数组作为形参来定义方法,传入多个同一类型变量
JDK5.0 :采用可变个数形参来定义方法,传入多个同一类型变量

//这两个方法不能同时存在
    public void read(int a,String[] books){

    }
    
    public void read(int a,String...books){

    }

(2)使用

    public void show(int i){
        System.out.println(i);
    }

    public void show(String s){
        System.out.println("第一个方法");
    }

    public void show(String ... strs){
        System.out.println("第二个方法");

        for(int i = 0;i < strs.length;i++){
            System.out.println(strs[i]);
        }
    }

输出,可变参数中参数个数可以为0

        Field field = new Field();
        field.show(1);    //1
        field.show("hello");    //第一个方法
        field.show("张三","李四","王五");   //第二个方法 张三 李四 王五
        field.show();    //第二个方法

说明:
(1)参数部分指定类型的参数个数可以是0个、1个或多个
(2)可变个数形参方法和同名方法构成重载
(3)参数是可变形参的要放在形参列表最后
(4)方法中最多只能声明一个可变形参

posted @ 2022-09-01 21:07  植树chen  阅读(39)  评论(0编辑  收藏  举报