Java内部类序列化不仅自身需实现java.io.Serializable
接口,其所在的外部类也需要实现序列化接口。
原因:内部类中可以直接调用外部类的方法或属性是因为含有隐藏的指向外部类的引用外部类名.this
,所以在序列化内部类时,该引用作为属性也需要能序列化,所以外部类也需要实现java.io.Serializable
Java内部类序列化不仅自身需实现java.io.Serializable
接口,其所在的外部类也需要实现序列化接口。
原因:内部类中可以直接调用外部类的方法或属性是因为含有隐藏的指向外部类的引用外部类名.this
,所以在序列化内部类时,该引用作为属性也需要能序列化,所以外部类也需要实现java.io.Serializable