1、接口的作用是實現多重繼承 因為只能繼承一個類(規定的)
2、一個類只能繼承一個父類,但是可以實現一個或多個接口
3、abstract關鍵詞能讓你在類里創建一個或多個沒有定義的方法—你給出接口,但是留一部分沒做定義,這部分由它的派生類來實現。而interface關鍵詞則創建了一種完全抽象的,根本不提供實現的類,它不僅是一種是抽象類的極端表現的形式,而且是一種能讓你將一個對象上傳到多個基類的手段。它提供了類似C++的“多重繼承(multiple inheritance)”的功能。
Interface是對abstract關鍵詞的進一步強化,它能讓你定義類的形式:方法名,參數列表,返回值,它的方法不用特別聲明都是public 的。Interface也可以包含數據成員,但是它天生就是static和final的,准確得說,它不是接口的組成部分,而是保存在這個接口的動態存儲 區。Interface的意思是“所有”“實現”這個接口的類都應該長成這個樣子,只要用到了這個interface都知道它有哪些方法可以調用。當你 implements一個interface的時候,你必須把這個interface的方法定義成public的,不這樣java編譯器就會報錯。
Java的多重繼承,由於interface不帶任何實現——也就是說interface和內存無關——因此不會有誰去阻止interface之間的結 合。這一點很重要,因為有時你會遇到“x既是a又是b 還是c”這種將多個接口結合在一起的行為,被稱為“多重繼承”。Java並不強制你必須去繼承abstract或“具體”類,但是你只能繼承一個非 interface的類,所有別的基類元素都必須是interface,你
只需把他們放在implments關鍵詞后面,用逗號隔開,你可以實現任意多個interface;也可以把這個類上傳到interface。
接 口也可以繼承,通過繼承來擴展interface,加入新的方法,也可以通過繼承將多個接口合並成新的interface接口繼承還有其特殊的方面就是可 以一次繼承多個接口,通常extends只用於類,但是由於一個接口可以由多個interface拼接而成,因此在創建新的接口的時候可以用 extends表示多個“基接口”,base Interface之間要用逗號分隔。
4、接口可用來實現多重繼承,java中多重繼承,定義類時,只可有一個父類。但是每個類可以實現多個接口,以這種方式來實現多重繼承。
5、接口定義了一組方法,這些方法可以供給其它類來實現。就像“司馬葯師”兄弟說得,很通俗。而類在實現接口的方法時,卻可以有不同的方式,每個類實現同一個接口中同一個方法的代碼可以不相同。
引用參考http://www.cnblogs.com/yqskj/articles/2053755.html
關於接口的詳細內容,請看《Thinking in JAVA》接口一章;
關於接口的高級用法見《JAVA與模式》接口專題