通过扩展具体的父母有抽象的孩子的目的

Che*_*eng 6 java oop

有时,我遇到了一些课堂设计如下.

abstract class animal {
    public abstract void speak();
}

class dog extends animal {

    @Override
    public void speak() {
        // Do something.
    }

}

abstract class abstract_dog extends dog {
    @Override
    public abstract void speak();
}
Run Code Online (Sandbox Code Playgroud)

我想知道,abstract_dog上课的目的是什么?为什么我们将非抽象说话方法"转换"为抽象说法?

SLa*_*aks 4

如果您想创建一个强制人们重写speak但继承的基类Dog