【发布时间】:2011-08-28 13:26:27
【问题描述】:
所以,我有一个具有以下属性的类
private String name;
private int counter;
private DateFormat df;
private DecimalFormat def;
private ArrayList<Bike> bike;
static String[] titles = {"some,items,here"};
所有这些都已经初始化,然后我在上面声明了
public class Motor extends AbstractTableModel implements Serializable
但是当我使用 ObjectOutputStream 时仍然会收到 IONotSerializableException,是否有一些限制,我现在可能知道这就是为什么它会这样?
【问题讨论】:
-
AbstractTableModel有没有不可序列化的成员?例如,您是否添加了未实现Serializable或Externalizable的侦听器?Bike是可序列化的吗? -
哦,将
Bikes 放入您的Motor是违反面向对象原则的。Motor应该包含一个HamsterWheel,其中包含一个Hamster,大家都知道仓鼠不能骑Bikes。 -
迈克,不用担心违规行为,但不完全是这样。在旁注中,AbstractDataModel 用作我的 JTable 的表模型,我不确定它们是否有任何不可序列化的成员。但是,抛开电机问题不谈,我是否在这里做错了无法实现可序列化的事情?
标签: java serialization io objectoutputstream implements