結果有些和想象中的不一樣吧。
原因如下:其實每個子類構造方法的第一條語句,都是隱含地呼叫super(),如果父類沒有這種形式的建構函式,那麼在編譯的時候就會報錯。
所以父類中的構造方法是不能繼承的,但是在例項化子類的時候會呼叫父類的構造方法,這樣就能解釋下面這種情況了。
面試題目1:
指出下面程式的執行結果:
public class test
}class a
public a()
}class b extends a
public b()
}
運算結果:1a2b2b
面試題目2
繼承時候類的執行順序問題,一般都是選擇題,問你將會列印出什麼? 【基礎】
父類:package test;
public class fatherclass
}子類:
package test;
import test.fatherclass;
public class childclass extends fatherclass
public static void main(string args)
}答:輸出結果為:
fatherclass create
fatherclass create
childclass create
子類能不能繼承父類的成員變數
1 關於私有成員變數 無論父類中的成員變數是私有的 共有的 還是其它型別的,子類都會擁有父類中的這些成員變數。但是父類中的私有成員變數,無法在子類中直接訪問,必須通過從父類中繼承得到的protected public方法 如getter setter方法 來訪問。2 關於靜態成員變數 無論父類中的成...
java中子類繼承父類程式執行順序
我們經常在專案中使用繼承,但是往往不太明白,程式執行的順序以及原理,尤其是使用上轉型物件的時候,以及父類子類中都有static變數和方法時,不知道先執行誰。下面是乙個簡單的繼承,來檢視 的執行順序 package test class person person class student exte...
python中子類不能繼承父類的私有屬性和方法
在子類中是不能繼承私有屬性和方法的,但是私有屬性和方法可以在同乙個類中被呼叫 class person object def init self,name self.name name self.age 12 def greet self print hello,my name is s self....