我希望知道何时我们可以使用扩展另一个接口的接口。我希望知道一个实际的例子和何时使用它。
SortedMap<K,V>
实现了 Map<K,V>
,因为排序映射是支持映射的所有操作以及仅适用于排序映射的一些操作的映射。SortedMap
实现成一个按键排序的列表加上一个并行数组的形式,而不是一个树。这样可以让用户在不改变其余代码的情况下更换更快或更优秀的实现。换句话说,接口之间的继承使您能够保留面向接口编程的好处。可以查看像 java.util.Collection
, java.util.Set
这样的接口,了解如何实现这一点以及如何收紧合同。
当我们想在应用程序中使用多重继承时,一个接口应该继承另一个接口。
为了使您的应用程序可以并行开发,非常有必要以这样一种方式编写代码,以便您可以尽可能轻松地将新发现的要求合并到现有代码中。因此,如果我们实现接口,则具体类名称将锁定您到特定的实现,从而使未来的更改变得不必要困难。因此,我们继承接口。