繼承、抽象個人小結

學無止步_窮其一生發表於2020-10-05

                                                      繼承

1、物件導向的三大特徵:封裝、繼承、多型。

2、繼承是多型的前提,沒有繼承就沒有多型。

3、子類有父類的屬性與方法,並且可以新增自己的屬性與方法。

4、定義格式:public class 子類名 extends 父類名{}

5、當父類和子類中的成員變數和方法重名時:
        直接通過子類物件訪問時:建立物件時=號左邊是誰就是誰,沒有的話向上找。

        間接通過成員方法訪問成員變數時:當方法是子類的,優先用子類的變數,沒有的話向上找;如果方法是從父類繼承的,優先用父類的。

6、在子類中訪問父類的成員變數:super.成員變數名。

7、當子類和父類成員方法重名時,子類訪問成員方法時,優先用子類方法,沒有向上找。

8、重寫(覆蓋)和過載的區別:方法名一樣,但是重寫的引數列表也相同而過載的引數列表不一樣。@Override寫在方法名前面,用來檢測是否是有效的覆蓋。重寫時子類方法的返回值必須小於等於父類方法的返回值範圍。重寫時子類方法的許可權必須大於等於父類方法的修飾許可權。Public>protected>default>private。

9、使用重寫(覆蓋)的場景:當設計需求對功能模組進行功能擴充套件時,定義一個新類繼承老類並重寫老類中的方法。

10、當父類和子類中都有自定義構造方法時:建立子類物件時先呼叫父類的構造方法,再呼叫子類中的構造方法。也可以通過super()語句顯式的過載父類的構造方法,但是super()語句必須是子類構造方法中的第一個語句。

11、super關鍵字的用法有三種:

        在子類的成員方法中,訪問父類的成員變數。

        在子類的成員方法中,訪問父類的成員方法。

        在子類的構造方法中,訪問父類的構造方法。

12、this關鍵字的三種用法:

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

        在本類的成員方法中,訪問本類的另一個成員方法。

        在本類的構造方法中,訪問本類的另一個構造方法。this()必須是第一個語句。

13、繼承的三個特點:

        Java中是單繼承的,一個類的直接父類只能有一個。

        Java語言可以多級繼承,父類可以有父類。

        Java語言中一個父類可以有很多個子類。

                                                     抽象

1、父類中定義抽象方法不確定如何實現,在子類中具體實現。

2、抽象方法的定義:public abstract void 方法名();,抽象方法所在的類必須是抽象類。在class之前加abstract。

3、抽象類只能被繼承,不能之間建立物件。

4、繼承抽象類的子類必須重寫(實現)繼承的父類中的所有的抽象方法,除非該子類也是抽象類。

5、抽象類不一定有抽象方法,但是抽象方法所在的類必須是抽象類。

6、抽象類也可以有構造方法,用來子類構造方法中呼叫初始化父類成員變數。

相關文章