Instanzieren von Objekten

Status
Nicht offen für weitere Antworten.

tuttogaz

Mitglied
Hallo

Hab folgenden Code in einem Listing im Internet gefunden und mir als blutiger Anfaenger stellt sich nun die Frage, was die geschlungene Klammer nach dem instanzieren von dem TreeNode Objekt bedeutet? Wenn man ein Objekt instanziert, kann man in geschlungenen Klammern irgendwas definieren?

lG Armin


Code:
TreeNode root = new TreeNode() {
      public Enumeration children() {
        return new Enumeration() {
          private int index = 0;
          private int size = getChildCount();

          public boolean hasMoreElements(){ return index < size; }
          public Object nextElement() { return getChildAt( index++ ); }
        };
      }
 
das ist ein kleiner, manchmal sehr netter Trick.

Du kannst dies machen, wenn du ein Objekt instanzieren willst, aber eine Methoder der Klasse anders implementiert haben willst. D.h. du erschaffst dir in deinem Beispiel eine komplette, funktionstüchtige Instanz der Klasse TreeNode, die aber anstatt der Default Implementierung von children deine eigene Methode verwendet....
 
L-ectron-X hat gesagt.:
Im Prinzip wird hier also bei der Objekterzeugung der Konstruktor überschrieben?
Nein nicht der Konstruktor sondern nur die Methode die man in Klammer angibt, alles andere wird von der Klasse der Instanz beibehalten...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben