【Java】改变参数的方法重载

    科技2022-07-11  108

    前面的内容已经学过了构造方法,知道构造方法的名称是由类名决定的,但如果我们希望以不同的方式来实例化对象,就需要多个构造方法来完成,由于这些构造方法是由类名进行命名的,为了能让方法名相同而形参不同的构造方法同时存在,必须要用到方法的重载。

    方法的重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可。

    例:

    public class Test8 { public static int add(int a,int b){ return a+b; } public static double add(double a,double b){ return a+b; } public static int add(int a){ return a; } public static void main(String[] args){ System.out.println("调用add(int,int)方法:"+add(5,5)); System.out.println("调用add(double,double)方法:"+add(4.2,2.3)); System.out.println("调用add(int)方法:"+add(20)); } }

    结果显示:

    调用add(int,int)方法:10 调用add(double,double)方法:6.5 调用add(int)方法:20

    根据以上可以得出以下结论:

    第一:参数类型不同,构成重载。

    第二:参数个数不同,构成重载。

    第三:参数顺序不同,构成重载。

    在涉及方法重载时候,会想到定义不定长参数方法。

    public static int add(int...a){ int sum=0; for(int i=0;i<a.length;i++){ sum=sum+a[i]; } return sum; }

    实例:

    public class Test8 { public static int add(int a,int b){ return a+b; } public static double add(double a,double b){ return a+b; } public static int add(int a){ return a; } public static int add(int...a){ int sum=0; for(int i=0;i<a.length;i++){ sum=sum+a[i]; } return sum; } public static void main(String[] args){ System.out.println("调用add(int,int)方法:"+add(5,5)); System.out.println("调用add(double,double)方法:"+add(4.2,2.3)); System.out.println("调用add(int)方法:"+add(20)); System.out.println("使用不定长结果显示:"+add(1,2,3,4,5)); } }

    结果显示:

    调用add(int,int)方法:10 调用add(double,double)方法:6.5 调用add(int)方法:20 使用不定长结果显示:15

     

    Processed: 0.009, SQL: 8