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