Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hey Leute,
wiedermal ein kleines Problem. Das super in der Sohnklasse macht mir zu schaffen. Müssen in der Vaterklasse die Varaiblen, die ich in der Sohnklasse nutzen möchte public sein oder kann ich sie auch auf private setzten und dann mit get-Methode() aufrufen? Wie macht man das dann im Konstruktor der Sohnklasse? Und warum gibt der Compiler mir einen Fehler aus?
Schon mal vielen Dank für's helfen im Vorraus^^
Müssen in der Vaterklasse die Varaiblen, die ich in der Sohnklasse nutzen möchte public sein oder kann ich sie auch auf private setzten und dann mit get-Methode() aufrufen?
Nein müssen nicht public sein. Du hast in diesem Fall 3 Möglichkeiten
1) Attribute der Superklasse als public deklarieren
2) Attribute der Superklasse als protected deklarieren (Zugriff in Kindklassen einfach möglich)
3) Attribute der Superklasse als private deklarieren (Zugriff nur über public/protected getter möglich)
Wie macht man was? Mit Hilfe von "super(....)" kannst den gewünschten Konstruktor der Superklasse aufrufen. Dieser Aufruf muss jedoch die 1.Anweisung im Konstruktor der Kindklasse sein!
Welchen Fehler? Wahrscheinlich weil die Syntax in deinen Code nicht stimmt
Du musst uns schon verraten welchen Fehler der Compiler dir sagt. Ansonsten können wir nur raten.
Es ist einfacher wenn du die benötigten Codestücke kopierst und in deinem Beitrag einfügst(innerhalb von Java-Tags), zusätzlich kannst du ja noch die vollständigen Code Dateien anhängen.
Mit super rufst du den Konstruktor deiner Basisklasse auf und leitest die benötigten Parameter einfach weiter. Die Basisklasse wird dann "ihre" Instanzvariablen belegen und deine abgeleitete Klasse die neuen.
Die Namen der Parameter solltest du aber anpassen. Wenn du das nicht von Anfang an beherzigst, wirst du später unter Stress immer wieder auf nichtssagende Namen zurückfallen.