一,介绍
方法重写(覆盖)就是子类有一个方法,和父类的某一个方法的名字,返回类型,参数都一样,那么我们就说这个子类的方法覆盖了其在父类中和它相同的方法。
二,细节
①,子类的方法的形参列表,方法名称,要和父类方法的形参列表,方法名称完全一样。
②,子类方法的返回类型和父类方法的返回类型一样,或者是父类返回类型的子类。
比如父类返回类型是Object,子类的方法返回类型是String,那么就成立,反过来则不行。再比如在父类中创建两个具有继承关系的类,如AAA,BBB,BBB继承AAA,则在父类中可将返回类型写作AAA,子类中既可写AAA,也可以写成BBB。
③,子类的方法并不能缩小父类方法的访问权限。
比如父类方法的访问修饰符是protected,但是子类的方法的访问修饰符为private或者是默认的话,就缩小了父类方法能够访问到的范围,因此出错,但是可以扩大父类方法的访问权限,比如可以将子类方法的访问修饰符设置为public,或者不变protected。
三,方法重写和方法重载的比较