關於static的繼承問題

2022-03-02 14:32:57 字數 1082 閱讀 5489

今天研究了一下被static修飾的變數和方法,在子類中繼承的問題,網上也看了別人的部落格,自己也動手試了一下

**如下

1

//父類

2package

com.xujingyang.test;34

public

class

father

11public

void

nostaticmethod() 14}

1516

17//

子類18

package

com.xujingyang.test;

1920

public

class son extends

father

27public

void

nostaticmethod() 30}

3132

3334

//子類

3536

package

com.xujingyang.test;

3738

public

class a extends

father

4142

4344

45//

測試方法

46package

com.xujingyang.test;

4748

public

class

test

68 }

結果如下:

得出如下結論:父類中的靜態成員變數和方法是可以被子類繼承的,但是不能被自己重寫,無法形成多型.

我發現,變數時無法形成多型的,網上別人說,子類把父類的變數繼承過來,記憶體中會存在兩個同名的變數,父類的變數會出現在子類變數之前.如下圖:

關於static問題的分析

package com.bzu.csh 類載入器載入.class檔案 初始化static宣告,並不賦值 呼叫類 static宣告賦值由上到下 程式開始執行,首先執行main方法,執行main方法第一條語句,呼叫singleton類的靜態方法,這裡呼叫singleton類的靜態方法就是主動使用sing...

關於繼承的問題

繼承,我這裡只說方法,繼承關心的是我從父類繼承來的東西有不是擁有的東西 簡單地說也就是能使用的東西 1。訪問修飾符為private的方法不能被繼承,而是被隱藏,在子類中可以寫乙個跟父類訪問修飾符為private方法一樣的方法,這裡不存在覆蓋問題,因為方法被隱藏,根本就沒有被繼承,所以不存在覆蓋問題,...

關於繼承的問題

摘自rocky ren 派生類隱式獲得基類的除建構函式和析構函式以外的所有成員。派生類只能有乙個直接基類,所以c 並不支援多重繼承,但乙個基類可以有多個直接派生類。繼承是可以傳遞的。即 如果 classb 派生出 classc classa 派生出 classb 則 classc 會繼承 class...