重寫和繼承關係中的構造方法

2021-07-30 11:35:14 字數 1346 閱讀 5371

2.

方法重寫必須滿足的需求

重寫方法和被重寫方法必須具有相同的方法名。

重寫方法和被重寫方法必須具有相同的引數列表。

重寫方法的返回值型別必須和被重寫方法的返回值型別相同或是其子類。

重寫方法不能縮小被重寫方法的訪問許可權。

3.

過載和重寫的區別聯絡

過載設計同乙個類中的同方法名,要求方法名相同,引數列表不同,與返回值型別,訪問修飾符無關。

重寫涉及的是子類和父類之間的同方法名, 要求方法名相同,引數列表相同,返回值型別相同(或是其子類),訪問修飾符不能嚴於子類。

4.

super 代表對當前物件的直接父類物件的預設引用

。在子類中可以通過super 關鍵字來訪問父類的成員。

super必須出現在子類(子類的方法和構造方法)中,而不是其他位置。

可以訪問父類的成員,如:父類的屬性,方法,構造方法。

注意訪問許可權的限制,如:無法通過super訪問private成員。

例如

在dog類中可以通過如下語句來訪問父類成員(以下父類成員和構造方法都不是private許可權)

super.name;      //訪問直接父類的name屬性

super.print();     //訪問直接父類的print()方法

super(name);    //訪問直接父類的對應構造方法,只能出現在構造方法中

繼承中構造方法的關係

繼承中構造方法的關係 a 子類中所有的構造方法預設都會訪問父類中空引數的構造方法 b 為什麼呢?因為子類會繼承父類中的資料,可能還會使用父類的資料。所以,子類初始化之前,一定要先完成父類資料的初始化。注意 子類每乙個構造方法的第一條語句預設都是 super class father public f...

繼承關係中的構造方法

繼承條件下構造方法的呼叫規則如下。1.如果子類的構造方法中沒有通過super顯示呼叫父類的有參構造方法,也沒有通過this顯示呼叫自身其他構造方法。則系統 會預設先呼叫自身的其他構造方法,則系統會預設先呼叫父類的無參構造方法。在這種情況下,有沒有 super 語 句,效果都是一樣的。2.如果子類的構...

繼承關係中構造方法的呼叫

1.子類中,所有構造方法的第一行預設都有乙個隱式的 super 語句。2.也可顯示地用 super 實參列表 呼叫父類的構造方法,當呼叫本類中的構造方法用 this 實參列表 語句。3.子類初始化必須先呼叫父類構造方法,因為子類繼承了父類中的內容,所以建立物件時必須要先看父類是如何對內容進行初始化的...