Je reçois java.io.NotSerializableException: java.io.ObjectOutputStream

C'est le code que j'ai essayé

import java.util.Scanner;
import java.io.*;

abstract class Account implements Serializable {
    protected String accountHolderName;
    protected long balance;

    protected ObjectOutputStream accData;

    Scanner input = new Scanner(System.in);
}

class Savings extends Account implements Serializable {

    Savings() throws IOException {
        System.out.print("enter your name: ");
        accountHolderName = input.nextLine();
        System.out.print("\n");
        System.out.print("enter your balance: ");
        balance = input.nextLong();
        accData = new ObjectOutputStream(new FileOutputStream(accountHolderName + ".bin"));
        accData.writeObject(this);
        accData.close();
    }
}

class Banking implements Serializable {
    public static void main(String args[]) throws IOException {
        Scanner input = new Scanner(System.in);
        Savings savobj = new Savings();
    }
}

et c'est l'exception-je obtenir

Exception in thread "main" java.io.NotSerializableException:
java.io.ObjectOutputStream
à java.io.ObjectOutputStream.writeObject0(Source Inconnue)
à java.io.ObjectOutputStream.defaultWriteFields(Source Inconnue)
à java.io.ObjectOutputStream.writeSerialData(Source Inconnue)
à java.io.ObjectOutputStream.writeOrdinaryObject(Source Inconnue)
à java.io.ObjectOutputStream.writeObject0(Source Inconnue)
à java.io.ObjectOutputStream.writeObject(Source Inconnue)
à l'Épargne.(Bancaire.java:22)
dans la banque.principale(Bancaire.java:30)

J'ai aussi essayé d'utiliser savobj.accData.writeObj(savobj) de main(), mais j'obtiens toujours la même exception. Que dois-je faire?

OriginalL'auteur Jeet Parekh | 2015-04-12