1. 程式人生 > >java中類的介面的理解

java中類的介面的理解

一、引用型別

引用型別有三種:類,陣列,介面。

二、介面的定義

1、介面是功能的集合,比抽象類更抽象,是資料型別,但不是類。

2、介面只描述所具備的方法,並沒有具體實現,具體實現由介面實現類完成。

3、interface關鍵字

介面使用interface替代了原來的class關鍵字。其他步驟與類的定義相同。

三、介面中的成員變數和成員方法的定義

1、介面中的方法都是公共訪問的抽象方法。不允許使用其他許可權

2、介面中無法定義普通的成員變數。必須是常量比如 int a=1;其中a的值永遠不變。

定義變數的格式為:

public static final 資料型別 變數名=值;

                                             其中   final    關鍵字:是固定起來不準改的意思。

介面的成員變數被final修飾符修飾,說明:成員變數的值永遠無法修改。但是,如圖

也就是說final的定義可以省略不寫。注意:

下圖:綠色表示:public公共意思。S表示:static靜態,F表示final。

上圖是定義介面的格式。

定義抽象方法的固定格式:

public abstract 返回值型別 方法名(引數列表);

四、總結一下介面中的成員變數和成員方法的寫法

如圖所示:

五、介面的實現

介面的實現與繼承很相似,只是關鍵字不同

實現的關鍵字是:implements

介面的實現類目的就是實現介面,並重寫接口裡的抽象方法。格式如下:

六、介面的成員

介面包含成員變數和成員方法。

1、介面的成員變數必須被public static final修飾。表示變數賦值後就固定不變的。

2、介面的成員方法必須被public abstracit修飾。並且沒有方法主體。這和抽象類有很大區別,即抽象類可以有抽象方法,也可以有普通方法。

3、介面不可以建立物件,原因是:建立物件無法呼叫方法,無意義。不能例項化。

4、介面的實現類必須將介面的所有抽象方法實現完才行,否則該實現類是一個抽象類。

七、介面的多實現。

1、介面具有多實現功能,一個實現類可以同時實現多個介面,但是所有介面的方法必須都要實現。這和抽象類又不同。因為介面只有抽象方法,這些方法只能子類來實現。子類建立物件後只能呼叫子類方法實現。而抽象類還包含非抽象方法,會產生安全問題。

2、類可以在繼承類的同時再實現多個介面。如圖。

八、介面的多繼承問題

介面與介面之間是繼承關係。如圖

注意:類和類之間是繼承關係,類和介面之間是實現關係,介面和介面之間是繼承關係。

九、介面和抽象類之間的區別

相同點:

1、都是在繼承類的頂端,用於被其他類實現或繼承。

2、都不能例項化物件。

3、都包含抽象方法,其子類必須重寫這些方法。

不同點:

1、抽象類中含有部分實現方法,而介面只有抽象方法。

2、一個類只能繼承一個父類,但是一個類可以實現多個介面。介面彌補了java的單繼承。

3、抽象類是這個事物中應該具備的內容,繼承體系是is......a的關係。

4、介面是這個事物中的額外內容繼承體系屬於like...a..的關係。

在選用時。