Why is a serializable inner class not serializable?

前端 未结 3 916
长情又很酷
长情又很酷 2020-12-05 13:56

The following code:

public class TestInnerClass {

    public static void main(String[] args) throws IOException {
        new TestInnerClass().serializeInne         


        
3条回答
  •  自闭症患者
    2020-12-05 14:44

    what if InnerClass needs this access?

    Then it needs the outer class instance, and it must be serialized along with the inner class.

    Is there a way to serialize a non-static inner class without the enclosing class, e.g. by making the reference to the outer class transient?

    No. What would happen when you deserialize such a class and then try to call an instance method of the outer class? A NullPointerException?

提交回复
热议问题