下面是代码
class Customer implements Serializable{
private String name;
private int age;
public Customer(String name,int age){
this.name=name;
this.age=age;
}public String toString(){return "name="+name+",age="+age;
}
在序列化时
Customer obj3=new Customer("Tom",20);
out.writeObject(obj3);
弹出错误
Exception in thread "main" java.io.NotSerializableException: Customer
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at ObjectSaver.main(ObjectSaver.java:15)
"t.txt")); Customer c = new Customer("aaa", 11);
out.writeInt(1);
out.writeObject(c); Customer c2 = new Customer("bbb", 12);
out.writeInt(2);
out.writeObject(c2);
out.flush();文件流关闭我这里就不写了
加个这个试试
这里需要关注好像就这几个吧,父类,无参构造方法,序列化标识,以及属性是否可序列化,如果属性中含有不可序列化的类,要标记成transient