Hallo liebes Forum,
in einem Buch zur Android-Programmierung (Googles Handy Betriebssystem) habe ich folgenden Code-Ausschnitt gefunden, den ich als Java-Novize nicht ganz verstehe.
Würde das so aussehen, würde ich das als normale Instanzierung eines Objects aus einer Klassendefinition verstehen.
Aber so ?
Heißt das, es wird ein Object erzeugt und dabei gleich (nur für dieses Object ?) die Methode "public void onCallStateChanged" überschrieben ?
Ist das dann eine sogenannte anonyme Klasse (obwohl sie einen Namen "phoneStateListener " bekommen hat, von anonyme kann also nicht die Rede sein).
Dieses Konstrukt begegnet mir immer wieder und es funktioniert auch, jetzt würde ich es auch gerne noch verstehen .
Gruß
Christian
in einem Buch zur Android-Programmierung (Googles Handy Betriebssystem) habe ich folgenden Code-Ausschnitt gefunden, den ich als Java-Novize nicht ganz verstehe.
Code:
... public void onStart() { super.onStart(); PhoneStateListener phoneStateListener = new PhoneStateListener() { public void onCallStateChanged(int state, String incomingNumber) { TelephonyManagerExample.this.telMgrOutput.setText( TelephonyManagerExample.this.getTelephonyOverview(telMgr)); } }; ... }
Code:
PhoneStateListener phoneStateListener = new PhoneStateListener() ;
Heißt das, es wird ein Object erzeugt und dabei gleich (nur für dieses Object ?) die Methode "public void onCallStateChanged" überschrieben ?
Ist das dann eine sogenannte anonyme Klasse (obwohl sie einen Namen "phoneStateListener " bekommen hat, von anonyme kann also nicht die Rede sein).
Dieses Konstrukt begegnet mir immer wieder und es funktioniert auch, jetzt würde ich es auch gerne noch verstehen .
Gruß
Christian
Comment