一个关于对象序列化的怪题。。。求解答
程序如下
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class Test {
public static void main(String[] args) throws Exception {
Banana2 b = new Banana2();
File file = new File("d:/test.txt");
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
oos.writeObject(b);
oos.close();
ois.readObject();
ois.close();
System.out.println( " restored " + b.size + " " );
}
}
class Food {
Food() {
System.out.print(" 1 ");
}
}
class Fruit extends Food implements Serializable {
private static final long serialVersionUID = 2387924016119347282L;
Fruit() {
System.out.print(" 2 ");
}
}
class Banana2 extends Fruit {
private static final long serialVersionUID = 7689053551729518274L;
int size = 42;
}
运行结果: 1 2 1 restored 42
谁解释哈1 2后面那个1怎么出的啊,我百思不得其解。。。。。。。。。。