回答
如果你看它缺乏技術,但如何可以或者應該使用它:
接口的主要優點是,只要你喜歡一個類可以實現多個接口。相比之下,一個類只能擴展一個其他類。 (在java中沒有多重繼承)。
通過使用接口,您可以將單個「功能」添加到您的類中。因此,您經常會看到接口名稱以「able」結尾。比如「Serializable」或「Parceable」或類似的東西。
抽象類可以是一個普通類,如果被迫擴展。例如像「車輛」。你不能使用「車輛」,因爲沒有隻有「車輛」的東西存在。因此,您必須實施延長該課程的課程,該課程可能是汽車或小船....
接口不包含任何實現。它只是描述了實現接口的類如何與其他類進行交互。
抽象類可以包含一些方法,它們被實現並定義抽象方法,類似於接口。
類和接口的使用應該不被視爲整個項目,而是被視爲特定的地方。
接口是一個契約(沒有實現),其中一個抽象類既是一個契約WITH實現。
http://www.java-tips.org/java-se-tips/java.lang/difference-between-abstract-classes-and-inter.html
您可以從一個類一次只能繼承,使用「擴展」的關鍵字,但可以實現多個接口,只要你想,使用「工具」關鍵字。另外,抽象類可以同時具有抽象和具體(已實現)的方法以及變量。
在簡單的engilsh中,接口是一個類,其中所有方法都是抽象的但不可實現(在接口中)。只有那些接口的子類(它們不是抽象類)必須實現抽象方法。
抽象類有一些方法實現,但可以包含必須由具體子類實現的抽象方法。
維基百科指出(interface):
在面向對象的語言的術語 「接口」通常用於定義不包含數據 但公開定義爲 方法行爲的抽象 類型。一個具有對應於該接口的所有 方法的類被稱爲實現該接口。此外,一個類 可以實現多個接口,因此 可以在同一時間具有不同的類型。
一個抽象類,或抽象基類 (ABC),是不能被實例化 一類。如果語言支持 繼承,這樣的類只有 有意義。一個抽象類是 設計只作爲從 可以派生的子類的父類。 抽象類經常被用來代表抽象概念 或 實體。 摘要類的不完整特徵然後由 共享一組子類,其中添加 不同的缺失 件的變體。
在java中你擴展類/抽象類,但你實現的接口。
- 1. 在接口和抽象類的Java
- 2. Java:接口和抽象類的實現
- 3. Java接口和抽象類的問題
- 4. 抽象類和接口的Java
- 5. Java抽象和接口
- 6. Java抽象和接口
- 7. java中的接口中的抽象類
- 8. 與接口和抽象類
- 9. PHP抽象類和接口
- 10. C#接口和抽象類
- 11. 抽象類和接口
- 12. 純抽象類和接口
- 13. 接口中的抽象類?
- 14. 當我需要在Java中使用抽象類和接口?
- 15. 的Java抽象類實現接口
- 16. 使用的Java [接口/抽象類]
- 17. Java抽象類,接口,方法覆蓋
- 18. 接口和抽象
- 19. 抽象類,類,接口
- 20. Java的抽象接口
- 21. java中的接口和抽象接口的區別
- 22. java中的抽象類和接口最佳實踐
- 23. 的Java抽象類/接口和指定類型參數
- 24. 抽象類返回接口
- 25. 與抽象類的接口
- 26. 抽象類實現接口
- 27. 抽象類V/s接口
- 28. 抽象類或SoftDelete接口
- 29. 抽象類MouseAdapter與接口
- 30. 接口vs 100%抽象類
您是否曾檢查Google或首先搜索此網站?如果是這樣,具體是什麼讓你感到困惑?例如,對這個網站的快速檢查顯示,數百個帖子與你的帖子完全相同(或者實際上更好 - 更詳細的問題),比如:http://stackoverflow.com/questions/2869222/use-of-java -interfaces-abstract-classes – 2011-03-11 13:52:13
這是許多其他許多問題的重複,請參閱右側的「相關」列。 – razlebe 2011-03-11 13:52:34
我不認爲這是一個確切的重複,因爲這是一個關於使用的一般問題。在相關專欄中的其他問題大多數是「我有bla bla bla ...你有什麼建議,爲什麼」 – Chris 2011-03-11 14:01:32