1. 程式人生 > >Java的介面、繼承與多型

Java的介面、繼承與多型

介面

java只支援單繼承,即一個類只能有一個父類,因此需要介面來實現多重繼承。

介面的定義

類和介面的區別:一個類通過繼承介面的方式,從而來繼承介面的抽象方法。類描述物件的屬性和方法,介面則包含類要實現的方法。 
介面的宣告語法方式:

<span style="color:#000000"><code>[可見度] <span style="color:#000088">interface</span> 介面名稱 [<span style="color:#000088">extends</span> 其他的類名] {
        <span style="color:#880000">// 宣告變數</span>
        <span style="color:#880000">// 抽象方法</span>
}</code></span>

注意:介面檔案的檔名必須與介面名相同;介面名稱首字母要大寫

介面的實現

基本語法格式:

<span style="color:#000000"><code>...implements 介面名稱[, 其他介面名稱, 其他介面名稱<span style="color:#000088">...</span>, <span style="color:#000088">...</span>] <span style="color:#000088">...</span></code></span>

注意:當類實現介面的時候,類要實現介面中所有的方法。

類的繼承

繼承的實現

基本的繼承格式如下:

<span style="color:#000000"><code><span style="color:#000088">class</span> 父類 {
}

<span style="color:#000088">class</span> 子類 <span style="color:#000088">extends</span> 父類 {
}</code></span>

繼承中的重寫

當子類繼承父類中所有能被子類訪問的成員方法的時候,如果子類的方法名和父類的方法名相同

,那麼子類就不能繼承父類的方法,此時,稱為子類的方法重寫了父類的方法。 
重寫體現了父類補充或者改變父類方法的能力,通過重寫,可以使一個方法在不同的子類中表現出不同的行為。

super關鍵字

通過super關鍵字可以在子類中訪問父類中被子類隱藏的成員方法或者變數,super的用途主要有一以下兩個: 
1. 呼叫父類的構造方法 
2. 操作被隱藏的成員變數和被重寫的成員方法

<span style="color:#000000"><code>super.成員變數名
super.成員方法名(<span style="color:#008800">[引數列表]</span>)</code></span>

多型

通過方法的過載和重寫實現類的多型性

過載

指在一個類中出現多個方法名相同,但是引數個數或引數型別不同的方法,則稱為方法的過載。 
注意:一般只過載功能相似的方法。