1. 程式人生 > >JavaSE 學習筆記之接 口(六)

JavaSE 學習筆記之接 口(六)

之前 rac 關鍵字 extends 修飾符 對象 clas con 而且

接 口:

1:是用關鍵字interface定義的。

2:接口中包含的成員,最常見的有全局常量、抽象方法。

註意:接口中的成員都有固定的修飾符。

成員變量:public static final

成員方法:public abstract

interface Inter{

public static final int x = 3;

public abstract void show();

}

3:接口中有抽象方法,說明接口不可以實例化接口的子類必須實現了接口中所有的抽象方法後,該子類才可以實例化。否則,該子類還是一個抽象類。

4:類與類之間存在著繼承關系,類與接口中間存在的是實現

關系。

繼承用extends ;實現用implements

5:接口和類不一樣的地方,就是,接口可以被多實現,這就是多繼承改良後的結果。java將多繼承機制通過多現實來體現。

6:一個類在繼承另一個類的同時,還可以實現多個接口。所以接口的出現避免了單繼承的局限性。還可以將類進行功能的擴展。

7:其實java中是有多繼承的。接口與接口之間存在著繼承關系,接口可以多繼承接口

接口都用於設計上,設計上的特點:(可以理解主板上提供的接口)

1:接口是對外提供的規則。

2:接口是功能的擴展。

3:接口的出現降低了耦合性。

抽象類與接口:

抽象類:一般用於描述一個體系單元,將一組共性內容進行抽取,特點:可以在類中定義抽象內容讓子類實現,可以定義非抽象內容讓子類直接使用。它裏面定義的都是一些體系中的基本內容。

接口:一般用於定義對象的擴展功能,是在繼承之外還需這個對象具備的一些功能。

抽象類和接口的共性:都是不斷向上抽取的結果。

抽象類和接口的區別:

1:抽象類只能被繼承,而且只能單繼承。

接口需要被實現,而且可以多實現。

2:抽象類中可以定義非抽象方法,子類可以直接繼承使用。

接口中都有抽象方法,需要子類去實現。

3:抽象類使用的是 is a 關系。

接口使用的 like a 關系。

4:抽象類的成員修飾符可以自定義。

接口中的成員修飾符是固定的。全都是public的。

在開發之前,先定義規則,A和B分別開發,A負責實現這個規則,B負責使用這個規則。至於A是如何對規則具體實現的,B是不需要知道的。這樣這個接口的出現就降低了A和B直接耦合性。

JavaSE 學習筆記之接 口(六)