package test01;
public
class
zextends
x y y=new y();
public
z()
public
static
void
main(string args)
}class x
y y=new y();
public
x()
}class y
}
結果:1y2x3y4z
a.初始化父類中的靜態成員變數和靜態**塊
b.初始化子類中的靜態成員變數和靜態**塊
c.初始化父類的普通成員變數和構造**塊(按編寫次序),再執行父類的構造方法
d.初始化子類的普通成員變數和構造**塊(按編寫次序),再執行子類的構造方法
java面試題 有關於繼承的面試題
面試題 1,方法過載和方法重寫的區別?方法過載能否改變返回值型別?方法過載是在本類內方法的定義一樣,引數型別,引數個數不同,返回值型別不同 方法重寫是指子類的方法定義和父類的方法定義相同。其引數型別,引數個數,返回值型別都必須相同 方法過載能否改變返回值型別,因為與返回值無關。2,this與supe...
關於類的載入面試題
1.類的載入 當第一次建立該 類物件的時候,載入到記憶體當中,在載入時,會執行static 2.欄位初始化問題 2.1 靜態字段初始化 是在靜態 塊當中初始化 2.2 非靜態的字段初始化 它是在構造器當中做的初始化 3.子類構造器缺省會呼叫父類的構造器 載入的順序 1 1 2 構造器supercla...
面試題48 不能被繼承的類
c11已有關鍵字final 首先想到的是在c 中,子類的建構函式會自動呼叫父類的建構函式。同樣,子類的析構函式也會自動呼叫父類的析構函式。要想乙個類不能被繼承,我們只要把它的建構函式和析構函式都定義為私有函式。那麼當乙個類試圖從它那繼承的時候,必然會由於試圖呼叫建構函式 析構函式而導致編譯錯誤。可是...