实现接口的抽象class有什么用

What is the use of abstract class that implements an interface

在阅读 Herbert Schildt 时,我遇到了部分实现,其中覆盖不是强制性的,但我不明白为什么我们要实现这样一个我们不覆盖其方法的接口:

interface CallBack{
  void callback();
}

abstract class Incomplete implements Callback {     //Legal
void someMethod();
}

这样的 class 有任何实际用途还是只是理论上的?

Incomplete 的每个子类现在都必须实现 Callback

这个名字本身就是abstract,不用实现。由于该抽象 class 的子 classes 必须并且必须完全填充该定义并且需要在该接口中实现该方法。

一个用例是 类 系列,它们都必须以相同的方式实现回调接口。所以它可以在抽象超类中实现,你不必在每个子类中处理它。

Abstracted 类 无法实例化,因此您要确保稍后将在您的系统中实例化的所有子类 以相同的方式处理回调。