实现接口的抽象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 类 无法实例化,因此您要确保稍后将在您的系统中实例化的所有子类 以相同的方式处理回调。
在阅读 Herbert Schildt 时,我遇到了部分实现,其中覆盖不是强制性的,但我不明白为什么我们要实现这样一个我们不覆盖其方法的接口:
interface CallBack{
void callback();
}
abstract class Incomplete implements Callback { //Legal
void someMethod();
}
这样的 class 有任何实际用途还是只是理论上的?
Incomplete
的每个子类现在都必须实现 Callback
。
这个名字本身就是abstract
,不用实现。由于该抽象 class 的子 classes 必须并且必须完全填充该定义并且需要在该接口中实现该方法。
一个用例是 类 系列,它们都必须以相同的方式实现回调接口。所以它可以在抽象超类中实现,你不必在每个子类中处理它。
Abstracted 类 无法实例化,因此您要确保稍后将在您的系统中实例化的所有子类 以相同的方式处理回调。