一、要点
1. 方法重载是发生在同一个类中;
2. 方法名字相同,而参数列表不同(参数列表不同指:参数个数不同、参数类型不同、参数顺序不同);
3. 返回类型可以相同也可以不相同。
针对要点2的示例:
- 参数顺序不同:
public void B(int a, String b) {
}
public void B( String b,int a) {
}
注意:下述代码不是方法重载!
public void B(int a, int b) {
}
public void B(int b, int a) {
}
只是修改了变量名称,这不是方法重载!
- 参数个数不同
public void B(int a, int b) {
}
public void B(int a) {
}
- 参数类型不同
public void B(int a) {
}
public void B(String a) {
}
二 、方法重写 与 方法重载 的区别
- 重写(Override):是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变,即:外壳不变,核心重写。重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法。
区别 | 参数列表 | 返回类型 | 方法名 | 访问权限 | 条件 |
---|---|---|---|---|---|
方法重写 | 相同 | 相同 | 相同 | 不能低于被重写的方法 | 子类重写父类方法 |
方法重载 | 不同 | 无要求 | 相同 | 无要求 | 同一个类中 |