分析例题:
class A {
A() {
System.out.println("A()");
}
}
class B extends A {
B() {
System.out.println("B()");
}
public static void main(String[] args) {
new B();
}
}
执行结果为分别打印:
A()
B()
分析得知,父类的对象是优先于子类对象而存在的(在现实生活中也是如此),也就是说,父类对象的构造在子类对象构造之前,先调用父类构造方法创建父类对象,再调用子类构造方法创建子类对象。
因此,在继承中,父类和子类的构造方法的调用次序如下:先调用父类构函再调用子类构函!
当然,不管是构造父类对象还是子类对象,都必须遵循以下步骤执行:
a.静态语句的执行
b.成员变量的初始化
c.语句块的初始化
d.构造方法的执行
分析例题5()的执行结果。