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 > Anonyme Klassen
  • 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

Anonyme Klassen

Um die Sache auf die Spitze zu treibe, gibt’s in Java noch die anonymen (inneren) Klassen. Diese kleinen Klassen werden meist im Zusammenhang mit Listenern „on the fly“ definiert, wenn sie gebraucht werden, und auch sofort instanziert, ohne dass eine Referenz auf sie gehalten wird. Daher sieht die Syntax etwas merkwürdig aus:

Vielleicht erinnern Sie sich, dass wir bei dem Beispiel zu Schleifen ein String – Array erzeugt haben mit:

String[]names=new String[] {"Ole","Bosse","Lasse","Kerstin"};

Etwas ähnliches passiert hier auch: wir erzeugen ein WindowAdapter– Objekt mit new WindowAdapter() und überschreiben dabei dieMethode „windowClosing(..)“ nach unseren Bedürfnissen. Wir definieren dadurch eine von WindowAdapter abgeleitete Klasse, allerdings hat die keine Bezeichnung, ist also anonym. Da wir sie nicht als sich selbst behandeln können, behandeln wir sie wie ihre Elternklasse „WindowAdapter“, denn jede abgeleitete Klasse hat ja alle Merkmale und Eigenschaften ihrer Elternklasse.

Der Compiler erzeugt daraus „ClosableFrame8$1.class“, da er dem Kind irgend einen Namen geben muss. Man sieht also, dass es sich um eine vollwertige Klasse handelt.

Anonyme Klasse werden vor allem bei der Implementierung einfacher Interfaces oder abstrakter Klassen verwendet und sind dabei ein übliches Verfahren. Ebenso wie die abstrakte Klasse WindowAdapter können Sie auch das Interface „ActionListener“ als anonyme Klasse einfach implementieren:

button.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    // do something
    }
});
« Innere Klassen
Alles über Klassen
Enumerations »
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.