2012-05-17 103 views

回答

2

看看接口如java.util.Collection,java.util.Set看看這是怎麼完成的,以及如何收緊合同。

7

當子接口提供超級接口提供的所有內容並執行其他重要事項時,可以擴展接口。例如,SortedMap<K,V>實現Map<K,V>,因爲已排序的映射是支持映射的所有操作的映射,以及一些僅適用於已排序映射的操作。

這類似於類之間的繼承,但它允許多個實現。例如,可以實現SortedMap作爲鍵的排序列表加上並行的值數組,而不是樹。這可以讓用戶在不更改代碼的其餘部分的情況下以更快或更高級的實現進行交換。換句話說,接口之間的繼承可以讓你保持編程接口的好處。

0
  1. 當我們要使用多重繼承在我們的應用程序,然後一個接口應該擴展其他接口。

  2. 爲了使應用程序並行開發,非常有必要編寫代碼,以便您可以儘可能輕鬆地將新發現的要求合併到現有代碼中。所以,如果我們實現了接口,那麼具體的類名稱會將您鎖定到特定的實現中,從而導致不必要的變更變得困難。所以我們擴展接口。