Java 1
  • Home
  • Tutorials
    • Hello World
      • Download
      • Installation unter Windows
      • Installation unter Linux
      • Das Hello World Programm
      • Mehr Java
    • Java Konsole
      • Java Konsole Testen
    • Basic Java
      • Java Programme
        • Die Klasse
        • Datentypen
        • Null
        • Casten
        • Operatoren
        • Kontrollstrukturen
        • Arrays
        • Aufgaben
      • Objektorientierte Konzepte
        • Hallo Fenster
        • Objekte einer Klasse
        • Vererbung
        • Interfaces
      • Alles über Klassen
        • Abstrakte Klassen
        • Methoden überschreiben
        • Super
        • Final
        • Innere Klassen
        • Anonyme Klassen
        • Enumerations
      • You're just an object
        • Sichtbarkeit
        • Druckdarstellung
        • Gleichheit
        • Klonen
        • Die Class
        • Serialisierung
    • Java Api
      • Dokumentation
      • Strings
      • Wrapper Klassen
      • System und Runtime
      • Math
      • Exceptions
      • IO
      • Sammlungsklassen
      • AWT und Swing
      • Alle Komponenten
      • Applets
      • Threads
      • Jar
      • Classpath
    • JSP und Servlets
      • Meine erste JSP
        • Downloads
        • Installation unter Windows
        • Installation unter Linux
        • Admin und Manager
        • Webapplication
      • JSP
        • Java Code in HTML einbinden
        • Das HTTP Request - Response Modell
        • Request und Response Objekte
        • Auswerten von Formulardaten
        • Aufgaben
      • Beans
        • Die Session
        • Weitere vordefinierte Objekte
        • Java-Beans
        • Beans programmieren
        • Java-Beans in JSP nutzen
        • Aufgaben
      • Servlets
        • Nutzen der Servlets
        • Servlets programmieren
        • Servlets auf dem Server einrichten
        • Servlets mit JSP
        • Servlets includen
        • Aufgaben
      • Webapplikation
        • Filter
        • Initialisierungsparameter
        • Error Pages
        • Passwortgeschützte Verzeichnisse
        • Bibliotheken nutzen
        • Eine Webapplikation deployen
        • Ausblick: Wie geht's weiter?
        • JSP-Tags Syntaxreferenz
        • Aufgaben
  • Code
    • Web
      • Datenbankverbindungen mit Tomcat
      • Texte richtig encoden
      • HTTPS mit Tomcat
      • HTML Encoden mit Javascript
    • Java
      • Print F
      • Ein generischer Poolbuilder
      • Native Bibliotheken
      • Unique Ids
    • Java FX
      • Balls
      • Hearts
      • Planner
    • Java ME
      • The Next Big Thing
    • System
      • Vi Kommandos
  • Sidemap
  • Impressum
  • Hilfe
Home > Tutorials > Basic Java > Alles über Klassen > Super
  • Home
  • Tutorials
    • Hello World
    • Java Konsole
    • Basic Java
      • Java Programme
      • Objektorientierte Konzepte
      • Alles über Klassen
        • Abstrakte Klassen
        • Methoden überschreiben
        • Super
        • Final
        • Innere Klassen
        • Anonyme Klassen
        • Enumerations
      • You're just an object
    • Java Api
    • JSP und Servlets
  • Code
  • Sidemap
  • Impressum
  • Hilfe

Super

Nehmen wir mal an, WindowAdapter würde doch sinnvolle Funktionalität anbieten, die wir weiterhin verwenden wollten. Wir könnten dann auch die Methode der Elternklasse aufrufen, indem wir das Schlüsselwort super verwenden.

class WindowListenerImplextends WindowAdapter {
    public voidwindowClosing(WindowEvent e) {
       super.windowClosing(e);
       System.exit(0);
    }
}

Der Code der Elternklasse ist also nicht verloren, sondern nur durch Überschreiben verdeckt.

Super lässt sich auch mit dem Konstruktor nutzen. Die Syntax ist hier wie bekannt:

/**
* Das ist der Konstruktor 
*/
ClosableFrame(Stringtitle){
    super(title);
    // setTitle(title); können wir uns dann sparen..
   doInit();
}

Super beim Konstruktor kennt zwei Besonderheiten:

  1. Der super(..) Aufruf muss die erste Codezeile im Konstruktor sein.
  2. Es wird stets ein Konstruktor der Elternklasse aufgerufen, auch wenn wir es nicht explizit angeben.

Ohne Aufruf mit super(..) erfolgt ein Aufruf des parameterlosen Standardkonstruktors der Elternklasse, d.h. des Konstruktors Frame() ohne Parameter. Wenn wir super explizit schreiben, können wir bestimmen, welcher Konstruktor benutzt werden soll. Existiert kein Standardkonstruktor in der Elternklasse und super (..) fehlt in der Kindklasse, so kompiliert die Kindklasse nicht.

« Methoden überschreiben
Alles über Klassen
Final »
Show/Hide Footer Actions

Kommentare:

Sie müssen angemeldet sein um eine Nachricht zu erstellen. Anmelden »
© 2012 Java 1. Alle Rechte vorbehalten.
Anmelden
concrete5 - open source CMS
Theme by Site5 / Mnkras.