Vererbung Überschriebene toString-Methode aufrufen

Hallo und einen schönen guten Tag :),

ich hätte da mal eine Anfängerfrage zum Thema Vererbung:

Angenommen ich habe in einer eigenen Klasse die Methode toString überschrieben und möchte zusätzlich aber auch noch die ursprüngliche Methode aus der Objekt-Klasse verwenden. Wäre dies möglich? Und wenn ja, wie? Ich habe schon mit dem Schlüsselwort super experimentiert, allerdings ohne Erfolg.
Hier mal etwas Code zur Veranschaulichung:

Java:
public class Test {
	public static String text = "HIER";

	public String toString()
	{
		return "Achtung: " + text;
	}
	
	
	public static void main(String[] args) {
		System.out.println(text);		
	}
}
Funktioniert natürlich ganz wunderprächtig. Nun möchte ich aber in der main-Methode eine 2. Zeile ausgeben und dabei die ursprüngliche Methode verwenden.
Im Voraus vielen Dank für eure Hilfe und viele Grüße!
 

faetzminator

Gesperrter Benutzer
Java:
public String toString() {
    return super.toString() + " / Achtung: " + text;
}
 
Zuletzt bearbeitet:
S

SlaterB

Gast
von außen kann man das nicht erreichen, die Überschreibung ist wasserdicht,
sonst wären vielleicht auch Sicherheitsklassen recht hinfällig

die Klasse selber kann noch aktiv getSuperXY() mit super-Aufruf zum Umbiegen anbieten,

ansonsten ist es eine Variante, in jeder Ebene die Methode anders zu benennen

Java:
class A 
  public String getDescriptionA()
  public String toString() { return getDescriptionA() }

class B
  public String getDescriptionB()
  public String toString() { return getDescriptionB() }
usw.,

die Methoden wie getDescriptionA() sind dann normal zugreifbar
 
N

nillehammer

Gast
Gibt es keine Möglichkeit beide zu benutzen??
Wenn du eine Methode überschreibst, gibt es keine Möglichkeit, das Verhalten der überschriebenen Methode von außen wieder herzustellen. Die Variante mit super.methode() geht nur in den Subklassen. Die einzige Möglichkeit wäre eine extra Methode. Ungefähr so:
Java:
// In einer Klasse, die direkte Subklasse von Object ist

// Die überschriebene Methode
public String toString() {
   return "überschrieben";
}

// eine weitere Methode, die in diesem Fall
// Object.toString() zur Verfügung stellt.
public String objToString() {
  return super.toString()
}
Ob das sinnvoll ist, steht auf einem anderen Blatt
 

Landei

Top Contributor
Die eigentliche Frage ist, wozu du das brauchst. Die Idee der Vererbung ist ja gerade, dass Kind-Klassen alles "passende" von der Eltern-Klasse übernehmen, und alles "unpassende" selbst ergänzen. Wenn das in deinem Entwurf Probleme macht, kann das ein Hinweis darauf sein, dass dein Design nicht stimmt (z.B. dass hier Komposition besser als Vererbung wäre).
 
Hallo,
es war wirklich nur eine theoretische Frage und ich denke, ich habe den Mechanismus jetzt begriffen.
Man kann also nur aus der abgeleiteten Methode die Methode der Superklasse aufrufen, nicht aus der main-Methode.
 
S

SlaterB

Gast
> Man kann also nur aus der abgeleiteten Methode die Methode der Superklasse aufrufen

aus der gesamten abgeleiteten Klasse
 
N

nillehammer

Gast
> Man kann also nur aus der abgeleiteten Methode die Methode der Superklasse aufrufen

aus der gesamten abgeleiteten Klasse
Dazu mal ein schön sinnfreies Beispiel:
Java:
// In überschriebener Methode einer Subklasse
// eine andere Methode der Superklasse direkt aufrufen
@Override
public boolean equals(Object obj) {

 return super.toString().length() > 10;
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Überschriebene Boolean Statements Java Basics - Anfänger-Themen 2
W LocalDate toString und nach Split falsch "erkannt"? Java Basics - Anfänger-Themen 8
W ArrayList und toString Java Basics - Anfänger-Themen 17
W toString bei composition Java Basics - Anfänger-Themen 4
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
E Einrücken inner der toString()-Methode Java Basics - Anfänger-Themen 34
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
M Polymorphie toString Java Basics - Anfänger-Themen 13
Y Wie kann ich ein Element in einer toString finden. Java Basics - Anfänger-Themen 2
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
P falscher booleanwert bei toString Java Basics - Anfänger-Themen 4
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
J Methoden toString()-Date Formatter Java Basics - Anfänger-Themen 8
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
M Die Inhalte eines Arrays mit der Methode Arrays.toString ausgeben Java Basics - Anfänger-Themen 4
H toString-Methode Java Basics - Anfänger-Themen 24
E Vererbung mit toString() Java Basics - Anfänger-Themen 6
O Referenz - toString Java Basics - Anfänger-Themen 9
B toString mit optionaler Ausgabe überrschreiben Java Basics - Anfänger-Themen 5
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
C Methoden toString Java Basics - Anfänger-Themen 4
B toString() Dilemma Java Basics - Anfänger-Themen 7
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 13
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 1
V ToString-Methode mit JUnit testen(BlueJ) Java Basics - Anfänger-Themen 10
D Arrays.toString spuckt null aus? Java Basics - Anfänger-Themen 3
S Methoden equals(object o) / toString Java Basics - Anfänger-Themen 15
K array in toString des objektes ausgeben Java Basics - Anfänger-Themen 1
Psypsy hashCode, equals und toString Java Basics - Anfänger-Themen 3
J toString() Methode und ArrayList Java Basics - Anfänger-Themen 1
K toString() Java Basics - Anfänger-Themen 1
H Erste Schritte Arrayes.toString methode funktioniert nicht Java Basics - Anfänger-Themen 2
A Problem mit toString Methode Java Basics - Anfänger-Themen 8
T String toString methode nicht vererbt ... Java Basics - Anfänger-Themen 4
I Vererbung toString() Frage Java Basics - Anfänger-Themen 5
M Unbekannte Nummer bei Aufruf der toString Methode Java Basics - Anfänger-Themen 3
E Richtige Ausgabe nur mit toString() - Warum? Java Basics - Anfänger-Themen 4
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
A ToString()-Methode richtig benutzen Java Basics - Anfänger-Themen 3
J ArrayList toString() Übergabe Fehler Java Basics - Anfänger-Themen 2
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
A JList / toString modify Java Basics - Anfänger-Themen 2
M toString gibt "null" statt "0.0" aus Java Basics - Anfänger-Themen 5
M toString Java Basics - Anfänger-Themen 7
H Integer.toString(int i) vs. String.valueOf(int i) Java Basics - Anfänger-Themen 12
C Methoden String von einem toString() herauslesen Java Basics - Anfänger-Themen 2
B Wann toString() überschreiben? Java Basics - Anfänger-Themen 21
P toString-Methode gibt immer null vor Variable aus Java Basics - Anfänger-Themen 9
N .toString() und (string) Java Basics - Anfänger-Themen 2
B Methoden toString Methode mit Schlüsselwort new Java Basics - Anfänger-Themen 3
S schwierigkeit mit in der verwaltungsklasse benutzen von toString() Java Basics - Anfänger-Themen 7
J Zweidimensionales Array durch ToString ausgeben lassen Java Basics - Anfänger-Themen 21
N Matrix an toString Java Basics - Anfänger-Themen 7
A Werteausgabe des Construktors mit toString Java Basics - Anfänger-Themen 2
D super.tostring Java Basics - Anfänger-Themen 8
A Stringarray toString Java Basics - Anfänger-Themen 5
L toString()-Methode in verschieden Klassen Java Basics - Anfänger-Themen 3
R Frage zu statischer Methode toString() Java Basics - Anfänger-Themen 3
S Escape Sequenz in der toString() ? Java Basics - Anfänger-Themen 4
S Stack als verkettete liste/ toString methode Java Basics - Anfänger-Themen 3
A Arrays.asList(s).toString() ohne [] und , Java Basics - Anfänger-Themen 3
P toString Java Basics - Anfänger-Themen 4
M .toString(); // Ausgabe: Attribut von Vaterklasse Java Basics - Anfänger-Themen 12
K toString Java Basics - Anfänger-Themen 10
F toString Methode ausgeben Java Basics - Anfänger-Themen 3
A Object -> String mit valueOf, toString oder cast ? Java Basics - Anfänger-Themen 6
R getClass und getName sowie toString Java Basics - Anfänger-Themen 10
D Arrays.toString problem Java Basics - Anfänger-Themen 2
D array.toString() wieso funktioniert es nicht Java Basics - Anfänger-Themen 4
S toString-Methode für Map Java Basics - Anfänger-Themen 15
L OOP hilfe bei tostring methode Java Basics - Anfänger-Themen 6
D toString überschreiben + Exception werfen Java Basics - Anfänger-Themen 3
H toString / println Java Basics - Anfänger-Themen 2
H toString() erben? Java Basics - Anfänger-Themen 3
A Arrays.toString() ohne [ und ] Java Basics - Anfänger-Themen 2
K Arrays.toString(); funktioniert nicht Java Basics - Anfänger-Themen 4
A byte.toString() -> Datenmüll Java Basics - Anfänger-Themen 52
K Problem mit .toString und FileReader Java Basics - Anfänger-Themen 2
G toString Problem Java Basics - Anfänger-Themen 12
G Gregorian Calendar aus toString() Ausgabe wiederherstellen Java Basics - Anfänger-Themen 4
T Warum Fehlermeldung bei diesem ToString Programm? Java Basics - Anfänger-Themen 2
B toString Java Basics - Anfänger-Themen 5
S Was macht [Integer.toString(number, tarRadix)] Java Basics - Anfänger-Themen 3
G Probleme bei toString Überschreibung Java Basics - Anfänger-Themen 6
M int toString Datentypen Umwandeln, AnfängerProblem Java Basics - Anfänger-Themen 3
T keine Ausgabe von toString obwohl keine Fehlermeldung Java Basics - Anfänger-Themen 5
D ToString Java Basics - Anfänger-Themen 3
C Bedeutung von toString im Bezug auf Text Java Basics - Anfänger-Themen 4
N char[] aus JPasswordField toString() Java Basics - Anfänger-Themen 6
T Boolean toString ? Java Basics - Anfänger-Themen 3
D Frage zum Aufruf einer toString-Methode Java Basics - Anfänger-Themen 2
H toString(); varargs; bitSet Java Basics - Anfänger-Themen 8
M getClass() und getClass().toString() Java Basics - Anfänger-Themen 4
V toString()-Methode Java Basics - Anfänger-Themen 9
S PrintWriter-Probleme mit toString Methode->Person@17182c1 Java Basics - Anfänger-Themen 10
P Vektor toString? Java Basics - Anfänger-Themen 2
S valueOf() vs. toString() Verwendung??? Java Basics - Anfänger-Themen 13
G Frage zur toString ? Java Basics - Anfänger-Themen 4
L .toString wieder rückgängig machen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben