当继承抽象类时,抽象类中的抽象方法必须全部重写吗?

一、问题描述

当继承抽象类时,抽象类中的抽象方法必须全部重写吗?

二、发现问题

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

三、解决问题

  1. 重写父类中的所有抽象方法
    当继承抽象类时,抽象类中的抽象方法必须全部重写吗?_第3张图片
  2. 将子类定义为抽象类
    当继承抽象类时,抽象类中的抽象方法必须全部重写吗?_第4张图片

你可能感兴趣的:(Java基础,java)