正如我们在上一课中看到的,子类可以定义特定于子类类型的行为,这意味着子类可以根据其需求实现父类方法。
此功能称为方法重写。
例子:
class Animal { public void makeSound() { System.out.println("Grr..."); } } class Cat extends Animal { public void makeSound() { System.out.println("Meow"); } }
在上面的代码中,Cat类重写其超类Animal的makeSound()方法。
方法重载规则:
-应该具有相同的返回类型和参数 -访问级别不能比重载方法的访问级别更严格(例如:如果超类方法声明为public,则子类中的重载方法既不能是private也不能是protected) -不能重写声明为final或static的方法 -如果一个方法不能被继承,它就不能被重载 -无法重写构造函数
方法重写也称为运行时多态性。