繼承與抽象

2021-10-03 04:55:46 字數 1459 閱讀 8013

定義:把所有類相同的屬性行為抽象出來,單獨定義乙個類,使子類可以訪問父類中非私有的屬性和行為,提高**復用性。

class 父類 

class 子類 extends 父類

重名
若是使用方法間接呼叫,則先呼叫本方法所在的類的屬性,若是子類,則找不到後自動向父類進行尋找,若是父類則不在尋找。

區域性變數:直接寫

本類變數:使用this.關鍵字

父類變數:使用super.關鍵字

不重名

覆蓋重寫

重寫:子類與父類方法名稱相同,引數相同,返回值的型別小於和等於父類的值

過載:名稱相同,引數不同。

1.必須保證父子類之間方法的名稱相同,引數列表也相同。

@override:寫在方法前面,用來檢測是不是有效的正確覆蓋重寫。

這個註解就算不寫,只要滿足要求,也是正確的方法覆蓋重寫。

​ 備註:(default)不是關鍵字default,而是什麼都不寫,留空。

繼承關係中,父子類構造方法的訪間特點:

1.子類構造方法當中有乙個預設隱含的「super()」呼叫,所以一定是先呼叫的父類構造,後執行的子類構造。

2.子類構造可以通過super關鍵字來呼叫父類過載構造。

3.super的父類構造呼叫,必須是子類構造方法的第乙個語句。有且只能有乙個

​ 總結:子類構造方法中必須呼叫父類構造方法,不寫則贈送super();寫了則用寫的指定的super呼叫,super必須放在子類構造方法色首位,有且只有乙個。

super關鍵字用來訪問父類內容,而this關鍵字用來訪間本類內容。

用法有三種:

1.在本類的成員方法中,訪問本類的成員變數。

2.在本類的成員方法中,訪問本類的另乙個成員方法。

3.在本類的構造方法中,訪問本類的另乙個構造方法。

在第三種用法當中要注意:

a.this(.

.…)呼叫也必須是構造方法的第乙個語句,有且只有乙個。

b.super和this兩種構造呼叫,不能同時使用,即使用this關鍵字後,則系統不再贈送super()。

修飾符 abstract 返回值型別 方法名 (引數列表);
抽象類的使用

抽象類不能直接建立物件,只可以被子類繼承使用。

抽象中的抽象方法必須全部被子類重寫變成具體方法後使用。否則子類包含抽象方法,亦是抽象類,不能直接創造物件,只可以被繼承使用。

抽象類的呼叫必須由子類建立物件後,由子類呼叫。

抽象類中可以有構造方法,供子類建立物件時,初始化父類成員使用

繼承與抽象類

1 概述 繼承描述的是事物之間的所屬關係,通過繼承可以使多種事物之間形成的一種關係體系。2 格式 使用 格式 class 子類 extends 父類 使用情況 多個類有共同的成員變數和成員方法,抽取到另外乙個類中 父類 再讓多個類繼承這個父類,我們的多個類就可以獲取到父類中的成員了。3 特點 1 類...

繼承與抽象類

j a物件導向的編寫方式有三大特性,封裝 繼承與多型,現總結關於繼承的一些知識點。1 繼承體現在類與類之間的關係,object為j a所有類的父類 2 實現類的繼承通過關鍵字extends來實現,如 class 子類 extends 父類 3 類的單根性 乙個類只能有乙個父類,這點與c語言或c 不同...

繼承 介面 抽象

繼承是物件導向最顯著的乙個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的資料屬性和行為,並能擴充套件新的能力 抽象方法是一種特殊的方法 它只有宣告,而沒有具體的實現 介面泛指供別人呼叫的方法或者函式 抽象類與介面的方法 1 抽象類可以提供成員方法的實現細節,而介面中只能存在public ...