public
class basic1
public
void
basic()
}
public
class
basic2
extends
basic1
}
public
class basictest
}
子類的方法!
null
子類的方法!子類的成員變數!
null??? why
當我們呼叫new basic2()時建立basic2的例項。例項的時候,系統會為basic2物件分配記憶體空間,basic2會有兩個str例項變數,會分配兩個空間來儲存str的值。分配完空間以後str的值為null。
接下來程式在執行basic2的構造器之前會執行basic1的構造器,basic1的建構函式中只有一行**,呼叫了basic()方法,因為子類重寫了父類的basic()方法,所以basic1的建構函式中呼叫的是子類的basic方法。
但是此時子類的成員變數str還沒有賦值,所以為null。
JAVA基礎 父類和子類執行順序
一 執行 父類 public class animal public animal public void a 子類 public class catextends animal public cat override public void a public static void main st...
C 父類和子類之間的轉換
學c 的時候有時候會對類型別之間的轉換感覺到些許的迷惑,下面記錄一點點理解和認識 首先需要明白一點 只有子類轉換成父類,父類不可能轉換成子類。因為子類是從父類繼承而來,子類中包含父類中所有成員。而如果父類可以轉換成子類,意味著將子類中將有一部分是未知的成員。這是不被允許的。在子類轉換成父類的時候,也...
java 子類與父類
1.父類 注 f m1 是父類不被繼承的方法 f m2 父類被子類重寫的方法 public class father public void f m1 public void f m2 2.子類 注 f m3是子類的私有方法 f m2 子類重寫父類方法 public class sunextends...