子类通过重写父类的方法,可以用自身的行为替换父类的行为。方法的重写是实现多态的必要条件。
方法的重写需要符合下面的三个要点:
1.“==”: 方法名、形参列表相同。
2.“≤”:返回值类型和声明异常类型,子类小于等于父类。
3.“≥”: 访问权限,子类大于等于父类。
【示例】方法重写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public class TestOverride { public static void main(String[] args) { Vehicle v1 = new Vehicle(); Vehicle v2 = new Horse(); Vehicle v3 = new Plane(); v1.run(); v2.run(); v3.run(); v2.stop(); v3.stop(); } } class Vehicle { // 交通工具类 public void run() { System.out.println("跑...."); } public void stop() { System.out.println("停止不动"); } } class Horse extends Vehicle { // 马也是交通工具 public void run() { // 重写父类方法 System.out.println("四蹄翻飞,嘚嘚嘚..."); } } class Plane extends Vehicle { public void run() { // 重写父类方法 System.out.println("天上飞!"); } public void stop() { System.out.println("空中不能停,坠毁了!"); } } |