2
我读了一本书,他们说如果你不实现Serializable你不能序列化给定的对象。但是我没有实现它就试用了它,它工作。下面是一些代码:为什么如果我不实现序列化我仍然可以序列化一个对象?
import java.io.*;
class SerializerTest {
private int a;
private int b;
public SerializerTest(int a, int b) {
this.a = a;
this.b = b;
}
public static void main(String[] args) {
try {
SerializerTest st = new SerializerTest(10, 20);
FileOutputStream fs = new FileOutputStream("st.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(st);
} catch (Exception e) {}
}
}
但我注意到,如果你实现Serializable的st.ser
文件变得像小10倍。那么为什么我可以序列化一些没有实现Serializable的东西,以及为什么如果我实现它,文件会变得更短?