考虑以下代码:
public class LIMSGrid extends ClientEventSource implements Focusable, FramingBlockWrapper {
//cell that is curently in edit mode
private CellCoord editingCell = null;
//framing block info
private FramingBlock framingBlock;
}
现在ClientEventSource
扩展一个实现Serializable
接口的类。这些类CellCoord
和FramingBlock
是带有一堆 getter 和 setter 的 POJOS。FindBugs 抱怨editingCell
andframingBlock
字段说:
这个 Serializable 类定义了一个非原始实例字段,它既不是瞬态的、Serializable 也不是 java.lang.Object,并且似乎没有实现 Externalizable 接口或 readObject() 和 writeObject() 方法。如果此字段中存储了不可序列化的对象,则此类的对象将无法正确反序列化。
好的,所以一切都很好,除了为什么说实例字段不是 "java.lang.Object" 。这完全是误导,或者我在这里遗漏了一些基础知识?