今天研究了一下被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...