KLASSEN

class Person {

    private static final long serialVersionUID = 20080330L;

    private String firstName;
    private String lastName;
    private String password;
    private
    //transient 
    double betrag=2;
    /*
      Mit transient gekennzeichnete Variablen werden
      bei Serialisierungen zur persistenten Abspeicherung
      eines Objekts nicht mit gespeichert.
    */

    public Person() {
        this("","","");
    }

    public Person(String firstName, String lastName, String password) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.password = password;
        betrag=123;
    }

    public void save2File(DataOutputStream dout) {
      try {
        dout.writeUTF(firstName);
        dout.writeUTF(lastName);
        dout.writeUTF(password);
        dout.writeDouble(betrag);
      }
      catch ( IOException e) {}
    }

    public void readFromFile(DataInputStream din) {
      try {
        firstName = din.readUTF();
        lastName = din.readUTF();
        password = din.readUTF();
        betrag = din.readDouble();
      }
      catch ( IOException e) {}
    }

    public String toString() {
        return new String(" "+lastName + ", " + firstName+ "\n Passwort: " + password+" betrag:" +betrag);
    }

    public void setFirstname(String firstName) {
      this.firstName = firstName;
    }
    public void setLastname(String lastName) {
      this.lastName = lastName;
    }
    public void setPassword(String password) {
      this.password = password;
    }


    public String getFirstname() {
      return  firstName;
    }
    public String getLastname() {
      return  lastName;
    }
    public String getPassword() {
      return  password;
    }


}


class Gehalt implements Serializable {

    private double betrag;
    private transient double jahresbetrag=111;

    public Gehalt(double betrag) {
        this.betrag = betrag;
        jahresbetrag = betrag*12;
    }
    public String toString() {
        return new String(" Betrag: "+betrag+" Jahresbetrag: "+jahresbetrag );
    }

    public void init() {
        jahresbetrag = betrag*12;
    }

    public void setBetrag(double betrag) {
        this.betrag = betrag;
        jahresbetrag = betrag*12;
    }
    public double getBetrag() {
      return betrag;
    }

}

Datei Input/Output
Exception