5.5 重写(Override)
重写是子类对父类允许访问的方法的方法体实现过程进行重新编写, 要求方法名和方法的参数个数以及参数类型都不能改变,同时方法的返回值类型必须是父类被重写函数的返回值类型或该返回值类型的子类,不能返回比父类更大的数据类。
重写的好处在于子类可以根据需要,定义适用于自己的行为。也就是说子类能够根据需要重新实现父类的方法。
【例5.6】Dog类从Animal类派生,在Dog类中重写Animal类中的shout()方法,并在Dog类中新增Dog类的lookHome()方法,以表现子类的新特性。在主类Example5_6中实例化一个Dog对象,并调用Dog类中重写父类的shout()方法和新增的lookHome()方法。注意,当在子类重写了父类的函数,则子类对象如果调用该函数,一定调用的是重写过后的函数。即父类中被重写的方法对子类对象是不可见的,但可以通过super关键字调用父类的被重写函数。
Example5_6.java(https://www.daowen.com)

运行结果:
