Konstruktoren – super!

Status
Nicht offen für weitere Antworten.

Hutmacher

Bekanntes Mitglied
Ich weiß nicht warum, aber irgendwie habe ich total verplant, wozu man super braucht und was man damit macht, was das für einen Sinn hat. Früher wusste ich es mal … drum habe ich etwas gelesen, aber das half mir auch nich wirklich weiter.

Ich habe hier 2 Klassen:
[HIGHLIGHT="Java"]class Superclass
{
public String str;

Superclass(String str)
{
this.str = str;
}

}

class Subclass extends Superclass
{
Subclass(String str)
{
super(str);
}
}[/HIGHLIGHT]
Das heißt, die Superclass hat einen str, und Subclass auch, weil sie den von Superclass erbt.

Wenn ich jetzt
[HIGHLIGHT="Java"]Superclass superX = new Superclass("LOL");
Subclass subX = new Subclass("Troll");


System.out.println(superX.str + subX.str );[/HIGHLIGHT]

probiere, ist die Ausgabe LOLnull, anstatt des von mir erwarteten LOLTroll.
Warum das bitte? Wenn das so ist, was für einen Sinn hat super denn?!

Danke, der ratlosende Ratsuchende … :rtfm: :bahnhof:
 
Zuletzt bearbeitet:
Argh, Mist, mal wieder das vergessen die beiden mitumzubennen. Es heißt natürlich:
[HIGHLIGHT="Java"]Superclass superX = new Superclass("LOL");
Subclass subX = new Subclass("Troll");


System.out.println(superX.str + subX.str );[/HIGHLIGHT]
Okay, hat sich erledigt.
Ich habe ja quasi den String str in der Subclass überschrieben. So bekomme ich str von der Superclass zwar vererbt, aber danach wird er wieder überschrieben.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Zurück
Oben