5.2.5 方法重载
Java
允许同一个类里
定义多个同名方法
,只要形参列表不同
就行。
方法重载定义
如果同一个类中
包含了两个或两个以上方法的方法名相同,但形参列表不同
,则被称为方法重载。
Java程序如何确定要调用哪个方法
在Java
程序中确定一个方法需要如下三个要素。
调用者
,也就是方法的所属者,既可以是类,也可以是对象。方法名
,方法的标识形参列表
,当调用方法时,系统将会根据传入的实参列表匹配
方法重载的要求
方法重载的要求就是两同一不同
:
- 同一个类中
- 方法名相同,
- 参数列表不同。
至于方法的其他部分,如方法返回值类型
、修饰符
等,与方法重载没有任何关系。
为什么返回值类型不能区别重载
Java
调用方法时可以直接调用方法,没有变量类接收返回值,此时无法判断该调用哪个方法。
1 | // 有int fun()方法和void fun()方法 |
重载的方法有变参的情况
此时优先调用没有变参的方法,只有参数个数超过非变参方法的参数长度才会调用变参方法.
不推荐重载形参个数可变的方法,因为变参可以匹配一个或者多个参数,自然也就包含了非变参方法的功能了。
实例
1 | public class OverloadVarargs { |
运行结果
1 | 调用 可变参数 的方法 |
原文链接: 5.2.5 方法重载