我想知道何时可以使用扩展另一个接口的接口。我想知道一个实际的例子,当我们使用它时。
答案 0 :(得分:7)
当子接口提供超级接口提供的所有内容时,您可以扩展接口,并执行其他重要操作。例如,SortedMap<K,V>
实现Map<K,V>
,因为有序地图是支持地图所有操作的地图,还有一些仅适用于有序地图的操作。
这类似于在类之间继承,但它允许多个实现。例如,可以将SortedMap
实现为键的排序列表加上并行的值数组,而不是树。这将允许用户交换更快或更优越的实现,而无需更改其余代码。换句话说,接口之间的继承使您可以保留编程到接口的好处。
答案 1 :(得分:2)
查看java.util.Collection
,java.util.Set
等界面,看看这是如何完成的,以及如何收紧合同。
答案 2 :(得分:0)
当我们想在我们的应用程序中使用多继承时,一个接口应该扩展其他接口。
要进行应用程序的并行开发,必须以尽可能轻松地将新发现的需求合并到现有代码中的方式编写代码。因此,如果我们实现接口,那么具体的类名将您锁定到特定的实现中,使得线下更改变得不必要。因此,我们扩展了接口。