Funktion ruft Konstruktor auf

Gast #3797288
Lesenswert?
• ▲
▼
Wird doch etwas weiter unten erklärt. Damit initialisierst du die 
Instanz der Elternklasse "Person". "Trainer" soll ja nicht auf die 
internen Person-Variablen zugreifen (Kapselung). Außerdem spart man sich 
so etwas Arbeit.
"erfahrung" ist hier Bestandteil der abgeleiteten Klasse "Trainer" und 
wird darum separarat im Trainer-Konstruktor initialisiert; den Rest 
übernimmt der Person-Konstruktor.
Gast #3797295
Lesenswert?
• ▲
▼
Tom schrieb:
> aber warum weiß die Funktion super(n,a)

Java ist so schlau und ersetzt das super() durch den Konstruktor von 
Person(), da eindeutig klar ist, wovon Trainer abgeleitet ist und Java 
also weiß, welcher Konstruktor gemeint ist.

In C++ z.B. ginge das nicht so. Da man dort von mehreren Klassen 
gleichzeitig ableiten kann, gibt es keine eindeutige Superclass und man 
muss explizit angeben, welchen Konstruktor man wie aufrufen will.
Gast #3797297
Lesenswert?
• ▲
▼
Tom schrieb:
> JA ok aber warum weiß die Funktion super(n,a), dass sie den
> Konstruktor der Klasse Person öffnen muss????

Welchen sonst? Es gibt in Java keine Mehrfachvererbung. Existiert in der 
Elternklasse kein Konstruktor mit den entsprechenden Parametern, gibt es 
einen Fehler beim Kompilieren.

Wenn in der Elternklasse kein Konstruktor explizit definiert wird, wird 
einer erzeugt (parameterloser Default-Konstruktor) und dieser auch ohne 
dein Zutun aufgerufen.

http://docs.oracle.com/javase/tutorial/java/IandI/super.html

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.