6. Object Destruction

Eine Object Destruction in diesem Sinne, daß heißt Freigeben von Speicher nicht mehr benötigter Variablen, gibt es nicht (z.B. im Vergleich zu C++).
Stattdessen wird diese Aufgabe automatisch durch die "Garbage Collection" erledigt:
Der Speicher eines Objektes wird freigegeben, sobald es keine Referenz mehr auf das Objekt gibt.
Um eine Objekt manuell zu löschen, d.h. die Speicherfreigabe erzwingen, kann man einfach das Objekt gleich dem Null-Zeiger setzen.
Dadurch gibt es keine Referenz mehr auf den Speicher des Objektes, und die Garbage Collection kann nun diesen freigeben.

Es gibt aber auch noch die finalizer-Methode:

        void finalize() { ... }

Diese wird aufgerufen, bevor die Garbage Collection den Speicher eines Objektes freigibt. Die finalizer-Methode kann z.B. benutzt werden, um offene Dateien zu schließen, da dies nicht automatisch von der Garbage Collection erledigt wird.
 

 vorherige Seite Inhalt nächste Seite