/*
*
* 1.继承中构造方法的调用问题
* 2.重写
* 3.构造方法的作用:初始化
* 对象一旦创建,成员变量会先进行默认初始化,在
* 构造方法中的super()执行结束后,再次初始化成员
* 变量的值.
*/
public class ConstrutorExtendsDemo {
public static void main(String[] args) {
new Sub();
}
}
class Super{
int a =6;
public Super(){
super();
/**
* 子类重写了test方法,当子类调用父类构造
* 执行到这里的时候执行的是子类的test方法
* 由于子类还没有被实例化,因此成员变量此时还是默认值
*/
test();
}
public void test(){
System.out.println("super"+a);
}
}
class Sub extends Super{
int a = 8;
public Sub(){
super();
test();
} //下方子类重写父类的test(),打印输出a的值,
public void test(){
System.out.println("sub"+a);
}
}