The following code:
public class TestInnerClass {
public static void main(String[] args) throws IOException {
new TestInnerClass().serializeInne
InnerClass cannot be serialised because to instantiate it (as required during deserialization) you need a reference to an instance of the outer class
Instances of inner classes cannot exist without an instance of the outer class.
i.e
OuterClass o = new OuterClass();
OuterClass.InnerClass o_i = o.new InnerClass();
If you use static inner class, it will be possible to serialise the static inner class. The instances of static inner classes can be created standalone.
i.e
OuterClass o = new OuterClass();
OuterClass.InnerClass i = new OuterClass.InnerClass();