子类重写父类的方法,可以用自身行为代替父类行为。重写是实现多态的必要条件;
重写的要点:
- 方法名、形参列表要相同
- 返回值类型,子类要小于父类
package com.it.test;
public class TestOverride {
public static void main(String[] args) {
Hourse h = new Hourse();
h.run();
h.getVehicle();
}
}
/**
* 交通工具类
*/
class Vehicle {
public void run () {
System.out.println("跑起来。。。");
}
public Vehicle getVehicle() {
System.out.println("给你交通工具");
return null;
}
}
class Hourse extends Vehicle {
@Override
public void run() {
System.out.println("马跑起来了。。");
}
@Override
public Hourse getVehicle() { // 这里返回值Hourse 小于 Vehicle
System.out.println("重写getVehicle方法");
return new Hourse();
}
}