学习时编写序列化测试时使用了内部类,内部类实现了Serializable,但是执行时还是出错。 原因:内部类对象持有外部类对象的引用,所以内部类对象序列化的时会对外部类对象以及其含有的成员行执序列化操作,从而导致错误(外部类没有实现Serializable,或其中有不能序列化的成员)。 解决方法:不适用内部类,单独创建一个类。 或者用static 修饰内部类,static修饰时则内部类对象不依赖外部类对象,所以不需要持有外部类对象的引用,则不会导致序列化时需要对外部类对象也进行序列化的问题。