anonyme Klassen Flashcards
in welchem Kontext werden anonyme Klassen in Java häufig verwendet? Warum eignen sie sich hier besonders gut?
Anonyme Klassen werden oft im Rahmen der Entwicklung von grafischen Benutzeroberflächen verwendet, z.B. um Beobachter-Objekte an Bedienelementen zu registrieren.
Hierzu eigenen sie sich besonders gut, da von einem Beobachter-Objekt, welches ein spezifisches Verhalten implementiert, in der Regel nur ein einziges Objekt benötigt wird
Welche Gemeinsamkeiten und welche wesentlichen Unterschiede bestehen zwischen einer lokalen und einer anonymen Klasse?
Sowohl lokale als auch anonyme Klassen können nur in Anweisungsblöcken, also z.B. im Rumpf einer Methode, deklariert werden. Beide sind damit auch innere Klassen, die Komponenten einer umschließenden Klasse darstellen.
Gegenüber einer anonymen Klasse hat eine „einfache“ lokale Klasse einen Namen, sodass von ihr mehrere Instanzen erzeugt werden können. Aus gleichem Grund können auch Variablen mit Ihr typisiert werden, was einen Aufruf neu deklarierter Methoden von außen erlaubt.
Geben Sie eine kompilierbare Java-Klasse an, in der eine lokale Klasse deklariert, eine Instanz von ihr erzeugt und diese einer Variablen zugewiesen wird.
public class DemoLokaleKlasse { void jetztKommtEineLokaleKlasse() { class LokaleKlasse { } LokaleKlasse l = new LokaleKlasse(); } }
Geben Sie eine kompilierbare Java-Klasse an, in der eine Instanz einer anonymen Klasse erzeugt und einer Variablen zugewiesen wird.
public class LokalUndAnonym { void jetztKommtEineAnonymeKlasse() { LokalUndAnonym a = new LokalUndAnonym() { }; } }