方法重写
方法重写的概念
-
从父类中继承下来的方法不满足子类的需求时,就需要在子类中重新写一个和父类一样的方法来覆盖从父类中继承下来的版本,该方式就叫做方法的重写(Override)。 重载叫 Overload
// 自定义show方法覆盖从父类中继承的版本 @Override // 标注/注解,用于说明下面的方法是对父类方法的重写,若没有构成重写则编译报错 public void show() { super.show(); // 表示调用父类的show方法 System.out.println("我的薪水是:" + getSalary()); } // 当子类重写show方法后,则下面调用的是重写以后的版本,否则调用的是Person类中的show方法 w1.show(); // null 0
方法重写的原则
- 要求方法名相同、参数列表相同以及返回值类型相同,从Java5开始允许返回子类类型。也就是说在Java5之前父类中的show方法返回的是一个父类类型的对象,子类中的show方法也要返回一个父类类型的对象,这就叫一致。Java5之后,父类中返回父类类型,子类中允许返回子类类型。
- 要求方法的访问权限不能变小,可以相同或者变大。访问权限就是权限修饰符。子类继承父类可以看成是子类扩展父类,既然是扩展,哪里有访问权限变小的道理。
- 要求方法不能抛出更大的异常(异常机制)。

本文详细介绍了Java中的方法重写概念,包括如何通过`@Override`注解进行方法覆盖,以及重写的原则,如方法名、参数列表和返回值的一致性,访问权限的限制和异常处理。此外,还展示了重写后的代码示例,演示了子类如何调用重写后的方法。

被折叠的 条评论
为什么被折叠?



