方法重载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 } //错误写法!与方法的返回值类型无关

 

posted @ 2020-09-29 21:57  Oooooooa  阅读(89)  评论(0)    收藏  举报