老师在上面说 如果实现了序列化接口那么其父类的则看不见父类的构造方法被调用。
如果是这样的话,最后的输出结果难道不应该是
bar1...
bar2...
吗?为什么我的结果确实连父类的构造方法也调用了?
因为 你是 Bar2 bar2 = new Bar2(); bar2 = (Bar2)ois.readObject();
但是老师写的是 Bar2 bar2 = (Bar2)ois.readObject(); 这里要注意的是 老师并没有去new一个Bar2对象
而你却是先new出来的 肯定会调用父类的构造函数。