2014-11-04 129 views
0

只是一個小混亂。 Java不允許多重繼承。那麼接口如何擴展多個接口呢?我們可以稱之爲繼承嗎?接口的多重繼承

+0

嗯......也許與Java 8,可以在其中接口提供默認的方法。因爲一個類可以實現多個接口,所以我們有類似多重繼承的東西。 – sk2212 2014-11-04 09:39:08

+0

實現多接口是**多態**不是**繼承**。 – Dmytro 2014-11-04 09:43:10

+0

@Dmytro這是不正確的。一個類型繼承了它的超類型的所有公共成員。這包括類和接口類型的所有方法定義,嵌套類型和靜態成員。 – 2014-11-04 09:45:45

回答

0

擴展多個接口的接口不構成多繼承。由於您沒有繼承任何功能。

public interface A { 
    public void doSomething(); 
} 

public interface B { 
    public void doSomething(); 
} 

public interface C extends A, B { 

} 

絕對是很好的,因爲你最終用(有效)的一種方法的單一界面:

public interface C extends A, B { 
    public void doSomething();  
} 
+0

謝謝但假設接口A和B包含兩種不同的方法(比如m1和m2)。因此,C擴展了兩個接口,它也將有m1和m2。因此,雖然C沒有擴展任何功能,但它獲得了A和B的行爲。那麼如何證明這一點。 – Leo 2014-11-04 10:16:29

+0

@Leo:這是合理的,因爲它不會導致與多重繼承相關的傳統問題。您正在擴展接口的合同,而不是從類繼承行爲。 – StuPointerException 2014-11-04 10:58:42