Vorlesung Informatik 2 - Teil A: Java Kurs
4.3 Anonyme Klassen
Manchmal schreibt man eine Klasse, von der es nur ein einziges Objekt geben soll,
oft sind das Listener Klassen. In diesem Fall kann man eine anonyme Klasse definieren, wobei gleichzeitig ein Objekt
erzeugt wird:
public class Beispiel extends JPanel{
private String meldung ="Danke!";
public Beispiel(){
JButton knopf = new JButton("Klick");
ActionListener knopfListener = new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(Beispiel.this, meldung);
}
};
knopf.addActionListener(knopfListener);
}
}
Der rot markierte Teil ist die anonyme
Klasse, wie man am new sieht wird gleichzeitig ein Objekt dieser Klasse erzeugt. Die Klasse
implementiert ActionListener und bekommt einen Default-Konstruktor.
Anonyme Klassen sind innere Klassen!
Diese Konstruktion ähnelt stark der Definition von Klassen in JavaScript.