Super: Unterschied zwischen den Versionen
Aus EINI
Hauer (Diskussion | Beiträge) |
|||
Zeile 2: | Zeile 2: | ||
Mithilfe dieses Schlüsselwortes kann man in [[Konstruktor]]en den Konstruktor der Oberklasse explizit aufrufen (<code>super()</code>) oder in [[Methode]]n einer Unterklasse explizit Methoden der Oberklasse aufrufen (<code>super.methode()</code>). | Mithilfe dieses Schlüsselwortes kann man in [[Konstruktor]]en den Konstruktor der Oberklasse explizit aufrufen (<code>super()</code>) oder in [[Methode]]n einer Unterklasse explizit Methoden der Oberklasse aufrufen (<code>super.methode()</code>). | ||
+ | |||
+ | = Beispiele = | ||
+ | |||
+ | <source lang="java" title="Arbiträrer Aufruf einer überschriebenen Methode der Oberklasse"> | ||
+ | public overriddenFunction(int foo){ | ||
+ | super.overriddenFunction(foo); | ||
+ | /* Do more */ | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | <source lang="java" title="Aufruf des Cuboid-Konstruktors aus dem Cube-Konstruktor"> | ||
+ | public Cube(int edgeLength){ | ||
+ | super(edgeLength, edgeLength, edgeLength); | ||
+ | } | ||
+ | </source> |
Version vom 9. Juni 2016, 22:32 Uhr
Das Schlüsselwort super repräsentiert die Super- oder Oberklasse eines Objektes (siehe: Vererbung).
Mithilfe dieses Schlüsselwortes kann man in Konstruktoren den Konstruktor der Oberklasse explizit aufrufen (super()
) oder in Methoden einer Unterklasse explizit Methoden der Oberklasse aufrufen (super.methode()
).
Beispiele
public overriddenFunction(int foo){ super.overriddenFunction(foo); /* Do more */ }
public Cube(int edgeLength){ super(edgeLength, edgeLength, edgeLength); }