2013-10-27 95 views
-1

接口是爲了通過類來擴展它們可以擴展其他接口接口繼承其他接口而不是類?

interface i1 { 
    void in(); 
} 

interface i3 { 
} 

class A implements i1, i3 { 
    public static void main(String args[]) { 
    } 

    public void in() { 
    } 
} 

class B { 
} 

如果我們需要擴展類的接口?這是不允許的,爲什麼?

interface i2 extends B; //incorrect 
class B implements i2; //correct 
+0

Stativ? whoa是什麼 – MightyPork

+2

因爲接口擴展類沒有任何意義。一個接口就是一個接口。一個類包含方法定義。 –

+0

接口不能包含實現,通過設計...而不是讓接口擴展類,爲什麼不使用抽象類(如果它對您的情況有意義)? – mc10

回答

0

在Java中,與類不同,接口沒有實現。

如果一個接口要擴展一個類,那麼它將實現該類的實現。

接口沒有實現的原因是,然後類/接口可以「繼承」它們的任何數量,而沒有由多重繼承引起的問題(一個C++)。

+0

對於最後兩行的確切數字和+1,我幾次聽到這個原因,但沒有人真正知道什麼問題?你能告訴更多關於C++繼承創建的問題嗎? –