函数中Bar2 bar2 = new Bar2();
oos.writeObject(bar2);
除了序列bar2对象外,还有上面作用?为什么控制台上会bar bar1 bar2等输出
我的理解是
class bar1{
public bar1(){
........//构造函数内容
}
}
class bar2 extends bar1{
public bar2(){
super();//隐藏调用该语句,效果就是调用父类的构造函数
...........//bar2的构造函数内容
}
}
子类的构造方法中,第一句有一个隐式的 super(); 调用父类的构造方法,然后再执行子类构造方法的方法体。bar2的构造方法中输出“bar2”之前调用其父类bar1的构造方法,bar1的构造方法中在输出“bar1”之前调用其父类bar的构造方法,输出 bar ,然后执行bar1的方法体输出bar1,之后再执行bar2的方法体输出bar2,结果就是 bar bar1 bar2