Methode toString

thor_norsk

Bekanntes Mitglied
Guten Morgen,
ich Weiß nicht warum ich toString() überschreiben soll?

Aufgabe: Sie haben von einer selbst erstellten Klasse eine weitere Klasse abgeleitet. In der abgeleiteten Klasse haben Sie die Methode toString() überschrieben. In der Basisklasse dagegen nicht.
Können Sie die Methode toString() der Basisklasse in der abgeleiteten Klasse mit der Referenz super aufrufen? Wenn ja, was liefert Ihnen diese Methode?

Laut Internet: Alle Java-Objekte verfügen über die toString()-Methode, da sie von Objekt vererbt wird. toString() liefert eine eindeutige Kennung eines Objekts in Form eines Strings zurück. Für eine nachvollziehbare und selbst erklärende Kennung sollten wir toString() in unseren Klassen überschreiben.

Meine Antwort: Man kann mit der Referenz super, toString() der Basisklasse aufrufen, aber man bekommt irgendwelche Werte die nicht überschrieben sind von der Basis Klasse???

Es wäre super, wenn jemand mir erklären könnte was genau passiert, damit ich den Sachverhalt bzw den Ablauf richtig verstehe.

Danke.
 

mihe7

Top Contributor
Die Wurzel der Klassenhierarchie bildet die Klasse java.lang.Object. Diese hat die Methode toString() definiert. Alle anderen Klassen sind direkt oder indirekt von der Klasse Object abgeleitet. Hat eine Klasse die Methdoe toString() nicht überschrieben, erbt sie diese von ihrer Superklasse. Diese Kette endet spätestens bei java.lang.Object.

Heißt: der Aufruf von super.toString() liefert das Ergebnis der von der Basisklasse verwendeten Implementierung von toString(). Da die Basisklasse die Methode nicht überschreibt, handelt es sich um eine Implementierung einer Superklasse der Basisklasse. Wurde in der Klassenhierarchie nirgends die Methode toString() überschrieben, wird die Implementierung der Klasse java.lang.Object verwendet und die liefert die eindeutige Kennung, wie Du sie oben beschrieben hast.
 

Neue Themen


Oben