Ausgabe ohne expliziter aufruf der Methode

Razorhawk

Webdesigner und MSP
Ja ich weiß nicht ob der titel passend ist.

Ich habe da eine Klasse, welche einige Methoden enthält zur berechnung von irgendwas.
In dieser Klasse ist auch eine Ausgabemethode mit dieem Code enthalten

Code:
  public String toString() {
    String ausgabe = "";
    for (int y = 0; y < hoehe; y++) { // fuer alle Zeilen y
      for (int x = 0; x < breite; x++) { // fuer alle Spalten x
        ausgabe = ausgabe +  feld[x][y] + " ";
      }
      ausgabe = ausgabe + "\n";
    }
    return ausgabe;
  }

unwichtig ist was ausgebeben wird.
Nun habe ich eine andere Klasse welche ich per extends von dieser Klasse da oben die methoden erben lasse.
In der Main methode meiner Klasse erstelle ich ein Objekt welche Zahlen beinhalten und rechne mit diesen Objekten herum, dann geben ich System.out.println(*Objekt-variable*)
das ganze aus und es wird etwas ausgebeben.
Ich habe den Zusammenhang noch nicht verstanden, wie es dazu kommt, dass automatisch eine Ausgabe erfolgen kann, obwohl ich doch die Methode toStrong nicht einmal angebe. Hat jemand ne logische Erklärung wie das funktioniert?
 
Hallo!

System.out. representiert eine Klassenvariable vom Typ java.io.PrintStream.
PrintStream enthält die Methode println(...) in zahlreichen Überladungen. Eine davon aktzeptiert eben ein Objekt als Parameter:
void println(Object x)

Die Implementierung dieser Methode ruft eigentlich nur die toString() Methode des übergebenen Objekts auf und schreibt den davon zurückgegbenen String in die Standardausgabe.

Gruß Tom
 
Zurück