Methode aufrufen und dann Überschreiben

eicher

Mitglied
Hey,

ich bin derzeit an einer Datum, Zeit Übund dran und hänge an einem glaube ich für euch einfachen Punkt. Ich versuche eine Methode in der Klasse Zeit aufzurufen und dessen Rückgabewert in einer Methode der Klasse Datum zu benutzen. Wir sollen aber die Methode toString der Klasse Zeit in der Klasse Datum überschreiben.
Beim Ausführen wird die Methode nun dauerhaft aufgerufen ohne Ergebnis, daher frag ich mich wie ich die Methode der Klasse Zeit benutzen kann und sie danach überschreiben kann? ???:L


Dies is mein bisheriger Java Code:

class Zeit:
Java:
import java.io.*;

public class Zeit implements Serializable {
    private int stunde;
    private int minute;

    public Zeit( int stunde, int minute) {
        this.stunde = stunde;
        this.minute = minute;
    }

    public String toString() {
        return stunde + ":" + minute;
    }
}

class Datum:
Java:
public class Datum extends Zeit
{
    private int tag;
    private int monat;
    private int jahr;
    public Datum(int stunde, int minute, int jahr, int monat, int tag) {
        super(stunde,minute);
        this.jahr = jahr;
        this.monat = monat;
        this.tag = tag;
    }
    public String toString() {
        return toString() + " " + tag + "." + monat + "." + jahr;
    }    
}

class Testzeit:
Java:
import java.io.*;
class Testzeit {
    public static void main(String[] args) {
    try{
       FileOutputStream fos = new FileOutputStream("IO.txt");
       ObjectOutputStream oos = new ObjectOutputStream(fos);
       Datum newDatum = new Datum(15, 7, 2011, 11, 11);
       oos.writeObject(newDatum);
       oos.close(); 
       FileInputStream fis = new FileInputStream("IO.txt");
       ObjectInputStream ois = new ObjectInputStream(fis);
       Datum object = (Datum) ois.readObject();
       System.out.println(object);
     
    }
    catch (Exception e){
         System.err.println("Error: " + e.getMessage());
    }
  }
}

grüße
 

eRaaaa

Top Contributor
Naja du rufst die gleiche toString nochmal auf (deshalb StackOverflow), du willst aber eig.
Code:
super.toString()
aufrufen :)

[java=12]
public String toString() {
return super.toString() + " " + tag + "." + monat + "." + jahr;
}
[/code]
 

Neue Themen


Oben