-
方法重载:Method Overload
- 统一名称的方法,参数列表不同
- 优点:对于功能一样的方法,可以通过更改参数列表来扩展这个方法
- public static int sum(int a, int b);
- public static int sum(int a, int b, int c);
-
方法重载与以下因素有关:
- 方法参数的类型:
sum(int, int)
,sum(int, double)
,成立 - 方法参数类型的顺序:
sum(int, double)
,sum(double, int)
,成立 - 方法参数的个数:
sum(int, int, int)
,sum(int, int)
,成立
- 方法参数的类型:
-
方法重载与以下因素无关:
- 参数的名称:
sum(int a, int b)
,sum(int x, int y)
,不成立,因为方法在调用的时候都是一样的,参数名只是一个标识符,并不区分具体是哪个方法 - 参数的返回值:
int sum(int)
,double sum(int)
,不成立,方法在调用时,可以不用变量接收返回值,因此就无法判断调用那个方法了
- 参数的名称:
-
println()方法,之所以可以打印各种各样的类型,其实底层也是进行了方法重载,在java/io/PrintStream中可以看到源码
网友评论