可能重複:
What does it mean to 「program to an interface」?
Interface vs Abstract Class (general OO)困惑JAVA接口
我是新來學習Java,現在我感到困惑的接口。我已經搜索並閱讀了許多材料,但仍不清楚。
當我試圖找到關於接口的一些信息時,我看到很多人談論了接口和抽象類之間的關係。但我甚至不知道他們爲什麼對比這兩個。因爲我認爲抽象類用於告訴其他人你不能創建這個抽象類的對象,如果你想要,你必須修改抽象類。這是關於繼承的事情,對吧?
但我不知道界面的含義。有一個interface a
,如果class B
要實現接口a,它必須使用保留字class B implements a
,然後完成接口所需的所有方法。但是我的問題是,如果B類必須自己完成所有的方法,接口的含義是什麼?我認爲我們不需要它。 我不太瞭解它。我讀了很多句子:「界面可以體現面嚮對象語言的核心思想」,「界面可以幫助程序更輕鬆」等等。但我無法真正理解這個意思。
那麼,有沒有人能告訴我一些例子讓理解界面?或者你可以告訴我一些有用的鏈接或清楚描述界面的書籍。我真的很希望弄明白。謝謝!
它可能有助於探索你更多關於java中的接口:http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface – Jimmy
唯一的目的是接口是實現*公共定義的協議行爲*,意味着繼承接口的類必須包含由該接口定義的所有方法是一個規則,或者更具體地說它是該類的協議定義。 (無論如何,你在界面中定義的每件事都必須公開)。 – Lion