一、问题描述
当继承抽象类时,抽象类中的抽象方法必须全部重写吗?
二、发现问题
- 编写抽象类Animal.java,该抽象类下有两个抽象方法,一个eat(),另一个是run()
- 编写普通类Cat.java来继承抽象类Animal.java
这个时候,当我们只重写了父类中一个抽象方法时,IDE提示了错误消息,提示如下
Class ‘Cat’ must either be declared abstract or implement abstract method run() in ‘Animal’
类“ Cat”必须被声明为抽象的,或者在“ Animal”中实现抽象方法run ()
所以可以很快得出结论,当继承抽象类时,要么重写抽象类中所有的抽象方法,要么子类为抽象类。
三、解决问题
- 重写父类中的所有抽象方法
- 将子类定义为抽象类