shad0w Geschrieben 16. April 2003 Teilen Geschrieben 16. April 2003 Hi, ich hab nun wirklich schon ein paar sachen ueber das thema super gelesen, bzw. erklaeren lassen, ich habs immernoch net kapiert. fuer was ist super() da ??? was genau macht das ?? danke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 16. April 2003 Teilen Geschrieben 16. April 2003 Hi, man kann auch Methoden, die bereits in der Oberklasse definiert sind, in der Unterklasse neu definieren und damit die alte Bedeutung für Objekte des neuen Typs überschreiben (override). Dabei braucht man eventuell nur die Teile neu zu schreiben, die zur entsprechenden Methode der Oberklasse hinzukommen, und kann für den gleichbleibenden Teil die Methode der Oberklasse mit super.name() aufrufen. Wenn eine Methode in der Oberklasse als final deklariert ist, kann sie von Unterklassen nicht überschrieben werden. Konstruktoren werden nicht automatisch von der Oberklasse übernommen sondern müssen neu definiert werden, wenn man mehr als den Default-Konstruktor mit der leeren Parameterliste braucht. Allerdings braucht man in diesen Konstruktoren nur diejenigen Aktionen zu definieren, die gegenüber der Oberklasse neu sind, und kann vorher - als erstes Statement - mit super(); oder super(parameterliste); den Konstruktor der Oberklasse aufrufen. Wenn man das nicht tut, wird vom Compiler automatisch der Aufruf des Default-Konstruktors super(); als erstes Statement hinzugefügt. Quelle: http://www.boku.ac.at/javaeinf/jein1.html#inheritance Dementsprechend ist super(); der parameterlose Konstruktor der Oberklasse der so von der Unterklasse aufgerufen werden kann. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 16. April 2003 Autor Teilen Geschrieben 16. April 2003 hmmm ... noch 2 mal lesen, dann duerfte ich es kapiert haben ... danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Naberius Geschrieben 23. April 2003 Teilen Geschrieben 23. April 2003 Original geschrieben von Jaraz Dementsprechend ist super(); der parameterlose Konstruktor der Oberklasse der so von der Unterklasse aufgerufen werden kann. Gruß Jaraz Stimmt! aber es ist sinnlos super(); in den Klassenkonstruktor der Unterklasse reinzuschreiben da (wenn kein anderer Konstruktor angegeben ist) sowieso immer der Standartkonstruktor der Oberklasse aufgerufen wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.