Java中方法重写(override)和方法重载(overload)
一,方法重写(override)
重写就是在子类中将父类的成员方法的名称保留,重写成员方法的实现内容,更改成员方法的存取权限或是修改成员方法的返回值类型。
在继承中有一种特殊的重写方式,子类与父类的成员方法返回值、方法名称、参数类型及个数完全相同,唯一不同的是方法实现内容,这种特殊重写方式称为重构。
重写条件:
- 参数必须要一样,可以修改方法的返回值类型,但返回值类型必须要兼容
- 不能降低方法的存取权限
二,方法重载(overload)
方法重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可
重载条件:
- 返回类型可以不同,仅返回值类型不同的重载是不应该允许的。
float max(int a, int b); int max(int a,int b); // 当调用这个方法时无法确定调用哪个方法,所以函数不能根据返回类型来区分重载 max(1, 2);
- 不能只改变返回类型
- 可以更改存取权限
构成重载方式:
- 参数类型不同,构成重载
- 参数顺序不同,构成重载
- 参数个数不同,构成重载