</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。