方法重载1
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。
方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。
1 public class Demo01MethodOverload { 2 public static void main(String[] args) { 3 System.out.println(sum(1,2)); 4 System.out.println(sum(1,2,3)); 5 System.out.println(sum(1,2,3,4)); 6 } 7 8 public static int sum(int a,int b){ 9 System.out.println("有两个参数的方法执行!"); 10 return a+b; 11 } 12 13 public static int sum(int a,int b,int c){ 14 System.out.println("有三个参数的方法执行!"); 15 return a+b+c; 16 } 17 18 public static int sum(int a,int b,int c,int d) { 19 System.out.println("有四个参数的方法执行!"); 20 return a+b+c+d; 21 } 22 }
方法重载与下列因素相关:
1.参数个数不同
2.参数类型不同
1 public static int sum(int a,int b) { 2 System.out.println("有两个参数的方法执行!"); 3 return a+b; 4 } 5 6 public static int sum(double a,double b) { 7 return (int) (a+b); 8 } //正确
3.参数的多类型顺序不同
1 public static int sum(int a,double b) { 2 return (int) (a+b); 3 } 4 public static int sum(double a,int b) { 5 return (int) (a+b); 6 } //正确
方法重载与下列因素无关:
1.与参数的名称无关,比如要赋值(1,2),不知道赋给哪一个
1 public static int sum(int a,int b) { 2 return a+b; 3 } 4 public static int sum(int x,int y) { 5 return x+y; 6 } //错误
2.与方法的返回值类型无关,只看方法的名称与参数
1 public static int sum(int a,int b) { 2 return a+b; 3 } 4 5 public static double sum(int a,int b) { 6 return a+b+0.0; 7 } //错误写法!与方法的返回值类型无关
浙公网安备 33010602011771号