Java的介面、繼承與多型
阿新 • • 發佈:2019-02-09
介面
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>
多型
通過方法的過載和重寫實現類的多型性
過載
指在一個類中出現多個方法名相同,但是引數個數或引數型別不同的方法,則稱為方法的過載。
注意:一般只過載功能相似的方法。