private方法不能繼承,重寫

2021-07-07 09:35:50 字數 539 閱讀 7096

public

class father

void f2()

public

static

void

main(string args)

}class son extends father

protected

void

f2()

}

輸出:

father f1()

son f2()

解析:父類引用指向子類物件,重寫 f1,f2方法,咋一看,是動態繫結,其實不然

一:f1方法

父類中是private,子類是public, 我們知道子類在重寫父類方法是訪問許可權不能縮小,因此不是重寫,父類中是私有的,子類也不能繼承。

在這裡父類和子類的f1方法沒有任何關係,只能說明恰巧兩個方法同名

罷了。f2方法

子類重寫父類的f2的方法,屬於動態繫結,因此呼叫的是子類方法!

這裡子類擴大的訪問許可權(從包訪問許可權到protected)

方法的過載 繼承 重寫

方法的過載 在乙個類中,方法名稱相同,引數列表不同,與返回值無關的方法,叫做方法的過載.什麼是繼承 子類可以繼承父類共有的屬性和方法.繼承關鍵字是 extends 子類不能繼承父類的構造方法.也就是說super 不是繼承,是呼叫.繼承的優點 實現類的重用,減少 的冗餘.子類繼承了父類後 子類可以訪問...

java 繼承 重寫

package inheritance.override 1 先開闢空間 2 再呼叫構造器 父類宣告賦值 父類構造器 子類宣告賦值 子類構造器 3 返回位址 屬性 就近原則 父類中的方法 如果重寫 找重寫,沒有重寫 找父類 新增不可見 先編譯後執行 編譯 從 所屬的當前類中向上找object 就近最...

繼承 重寫 super

繼承 extends,子類自動擁有父類的所有可繼承的屬性和方法。只支援單繼承,不可多重繼承,如 extends a,b 是錯誤的。可以多層繼承。重寫 子類重寫父類的方法時,不能使用比父類中被重寫的方法更嚴格的訪問許可權。super 1 呼叫父類成員變數 成員方法 super.成員變數 super.成...