为什么要进行方法的重写?为什么不在子类中直接构造一种新的方法?
重写的前提是存在继承关系,子类会继承父类的方法(行为),但如果存在子类虽然会继承了父类的行为,但发现父类实现该行为的方式和自己实现该行为的方式不同,例如:子类和父类都能够进行学习,但子类是通过看视频教学学习,而父类通过看书学习;显然子类和父类都具有相同的行为(“学习”),但实现学习的方式不同。显然你觉得既然是两种不同的方式就可以重新构造一种新的方法,但如果你想重新构造一种新的方法(行为)那就必须将该方法(行为)命名为学习,不可以命名为其他,因为我们要的行为就是学习,如果构造成吃饭那显然不可以,而你如果把
方法名(行为)命为学习时,(而这里我们是以方法的形参列表相同,返回值类型和访问权限相同为例),而这种你以为是新的构造方法,其实本就是我们要重写的方法。
注意:方法重写需满足以下三个要点:
1.方法名、形参列表相同
2.返回值类型和声明异常类型,子类小于等于父类
3.访问权限,子类大于等于父类
public>protected>private;