Comment fonctionne la sérialisation quand seulement la sous-classe implémente sérialisable

Seulement sous-classe a mis en œuvre Serializable interface.

import java.io.*;

public class NewClass1{

    private int i;
    NewClass1(){
    i=10;
    }
    int getVal() {
        return i;
    }
    void setVal(int i) {
        this.i=i;
    }
}

class MyClass extends NewClass1 implements Serializable{

    private String s;
    private NewClass1 n;

    MyClass(String s) {
        this.s = s;
        setVal(20);
    }

    public String toString() {
        return s + " " + getVal();
    }

    public static void main(String args[]) {
        MyClass m = new MyClass("Serial");
        try {
            ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("serial.txt"));
            oos.writeObject(m); //writing current state
            oos.flush();
            oos.close();
            System.out.print(m); //display current state object value
        } catch (IOException e) {
            System.out.print(e);
        }
        try {
            ObjectInputStream ois = new ObjectInputStream(new FileInputStream("serial.txt"));
            MyClass o = (MyClass) ois.readObject(); //reading saved object
            ois.close();
            System.out.print(o); //display saved object state
        } catch (Exception e) {
            System.out.print(e);
        }
    }
}

Une seule chose, j'ai remarqué, ici, c'est classe parent n'est pas sérialisé. Alors, pourquoi ne pas jeter NotSerializableException en effet, c'est en montrant suivantes

Sortie

Serial 20
Serial 10

Également, la sortie diffèrent de Serialization et De-serialization. Je viens seulement de savoir, c'est à cause de la classe parent n'a pas mis en œuvre Serializable. Mais, Si quelqu'un m'expliquer, ce qui se passe durant l'objet de la sérialisation et la désérialisation. Comment elle change la valeur ? Je ne suis pas en mesure de comprendre, j'ai aussi utilisé commentaire dans mon programme. Donc, si je me trompe, à tout moment, s'il vous plaît laissez-moi savoir.

source d'informationauteur Ravi