00027_方法的重载

1、方法重载的定义

  Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载

2、下面的三个方法互为重载关系

1 public static int add(int x,int y) {逻辑} //两个整数加法
2 public static int add(int x,int y,int z) {逻辑} //三个整数加法
3 public static int add(double x,double y) {逻辑} //两个小数加法

3、方法重载的例子

 1 public class MethodDemo03 {
 2     public static void main(String[] args) {
 3         // 下面是针对求和方法的调用
 4         int sum1 = add(1, 2);
 5         int sum2 = add(1, 2, 3);
 6         double sum3 = add(1.2, 2.3);
 7         // 下面的代码是打印求和的结果
 8         System.out.println("sum1=" + sum1);
 9         System.out.println("sum2=" + sum2);
10         System.out.println("sum3=" + sum3);
11     }
12 
13     // 下面的方法实现了两个整数相加
14     public static int add(int x, int y) {
15         return x + y;
16     }
17     // 下面的方法实现了三个整数相加
18     public static int add(int x, int y, int z) {
19         return x + y + z;
20     }
21     // 下面的方法实现了两个小数相加
22     public static double add(double x, double y) {
23         return x + y;
24     }
25 }

  上述代码中定义了三个同名的add()方法,它们的参数个数或类型不同,从而形成了方法的重载。在main()方法中调用add()方法时,通过传入不同的参数便可以确定调用哪个重载的方法,如add(1,2)调用的是两个整数求和的方法

4、方法的重载与返回值类型无关,它只有两个条件,一是方法名相同,二是参数列表(参数个数或参数类型)不相同

5、重载的注意事项

  (1)重载方法参数必须不同

      参数个数不同,如method(int x)与method(int x,int y)不同

      参数类型不同,如method(int x)与method(double x)不同g

      参数顺序不同,如method(int x,double y)与method(double x,int y)不同

  (2)重载只与方法名与参数类型相关与返回值无关

      如void method(int x)与int method(int y)不是方法重载,不能同时存在

  (3)重载与具体的变量标识符无关

      如method(int x)与method(int y)不是方法重载,不能同时存在

原文地址:https://www.cnblogs.com/gzdlh/p/8077817.html