2012-01-09 172 views
0

可能重複:
When to use abstract class or interface?抽象類V/s接口

我在Java中的新手,任何人都可以請解釋一下這樣一個場景,抽象類將是 有用和界面不會,反之亦然。 我相信不是那麼複雜的問題都可以同樣輕鬆地解決問題。 請用外行人的名義解釋,請原諒我的無知!

回答

2

當我們創建一個接口時,我們基本上創建了一組方法,沒有任何必須被實現的類覆蓋的實現。其優點是它爲類提供了一種方法,使其成爲兩個類的一部分:一個來自繼承層次結構,另一個來自接口。

當我們創建一個抽象類時,我們正在創建一個基類,它可能有一個或多個已完成的方法,但至少有一個或多個方法未完成並聲明爲抽象。如果抽象類的所有方法都未完成,則它與接口相同。抽象類的目的是爲一組派生類的工作方式提供基類定義,然後允許程序員在派生類中填充實現。

+0

我對以下邏輯感到震驚 - 「爲什麼要使用抽象類,而不是每次都使用接口,從而維持類的擴展能力,以便在使用抽象類的情況下擴展另一類。」任何真實生活設計示例會很好用! – user1138406 2012-01-09 10:20:52