如何反序列化 Path2D.Double 对象?

How do I desserialize a Path2D.Double object?

我正在尝试保存 ArrayListConnector 的对象,它是 class 扩展 Path2D.Double 的对象。它给了我例外 gui.Connector; no valid constructor。我做了一些研究,发现了这个:

no valid constructor when serializing a subclass of Path2D.Double

它给了我很好的解释,但没有解决方法。有没有办法反序列化 Path2D.Double 的子 class?

Path2D.Double 可以是 serialized/deserialized 没有问题(它可以访问 Path2D 无参数构造函数)。如果您不需要覆盖 Path2D.Double 的行为,您可以将此 class 的实例作为 Connector class 中的一个字段(而不是 Connector 扩展 Path2D.Double)。