</pre><pre name="code" class="java">class Fu
{
Fu()
{
super();
show();
return;
}
void show()
{
System.out.println("fu show");
}
}
class Zi extends Fu
{
int num = 8;
Zi()
{
super();
System.out.println("zi cons run...."+num);
return;
}
void show()
{
System.out.println("zi show..."+num);
}
}
class ExtendsDemo1
{
public static void main(String[] args)
{
Zi z = new Zi();
z.show();
}
}
運行結果
zi show...0
zi cons run....8
zi show...8
java類繼承的特點是:先運行父類的構造方法再運行子類的構造方法。
結合例子看,在實例化子類對象時運行流程是:1.運行父類構造方法fu()在父類構造器中調用了show()方法,因爲子類中也有show()方法所以覆 蓋父類執行子類show()方法。輸出 zi show...0。
2.運行子類構造方法zi()方法。輸出 zi cons run....8。
3.運行子類show()方法。輸出 zi show...8。