方法的重写
继承不只是扩展父类的功能,还可以重写父类的成员方法。重写(也称为覆盖)就在子类中将父类的成员方法的名称保留,重新编写成员方法的实现内容,更改成员方法的存储权限,或是修改成员方法的返回值类型。
在继承中有一种特殊的重写方式,子类和父类的成员方法返回值、方法名称、参数类型及个数完全相同,唯一不同的就是方法实现内容,这种特殊重写方式成为重构。
注意:1、当重写父类方法时,修改方法的权限只能从小范围到大范围的改变,例如父类的protected,继承后子类的只能为public,不可以修改为private;2、子类重写父类方法可以修改方法的返回值类型,但重写的方会在类型必须是父类中同一方法返回值类型的子类。
super关键字:子类重写了父类的方法,如果想要调用父类的方法,那么可以使用super关键字。如果在子类构造方法中使用类似super()的构造方法,其他初始代码只能 写在super()之后,不能写在前面,不然会报错。
方法的重载
方法的重载就是在一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或者类型不同即可。
重载条件:
- 参数类型不同
- 参数个数不同
- 参数顺序不同