hallo,
is wahrscheinlich eine blöde anfängerfrage, aber wieso erstellt mir java neben den normalen xxx.class dateien auch dateien mit der endung xxx$1.class?
wofür werden die benötigt?
danke,
andi
hallo,
is wahrscheinlich eine blöde anfängerfrage, aber wieso erstellt mir java neben den normalen xxx.class dateien auch dateien mit der endung xxx$1.class?
wofür werden die benötigt?
danke,
andi
ein grund worum solche class files erzeugt werden sind nested / inner classes ...
ja das dachte ich mir schon. von einer datei die eine inner-class enthält wurde die normale xx.class erzeugt sowie xx$1.class und namederOuterClass$namederInnerClass.class. aber von einer anderen klasse ohne inner class wurde auch eine xx$1.class erstellt. komisch
lg,
andi
Das ist dann eine anonyme innere Klasse, die wird z.B. so erzeugt:
IPropertyChangeListener listener = new IPropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
//do something...
}
}
Vor allem bei solchen Listener-Geschichten sind die denk ich oft anzutreffen.
Da wird eine Instanz einer namenlosen (anonymen) Klasse erzeugt, die die Implementierung des angegebenen Interface darstellt.