Java Reference
In-Depth Information
Beispiel:
if (x > 10) {
Bruchb=newBruch();
b.zaehler = 2;
b.nenner = 3;
5
}
System.out.println(b.zaehler);
Listing 5.4
Zugriffsversuch nach Ablauf der Lebensdauer
Der Bruch
b
wird nur erzeugt, wenn
x
größer als 10 ist. Aber auch in diesem Fall erfolgt
die Erzeugung des Bruchs
b
innerhalb des Blocks, der mit der geschweiften Klammer
nach der Bedingung
(x
>
10)
beginnt. Die Lebensdauer endet somit mit der schließen-
den Klammer. Danach ist kein Zugriff mehr auf
b
möglich. Die
System.out.println
-
Anweisung wird entsprechend eine Fehlermeldung verursachen.
Die Attribute eines Objekts existieren immer so lange, wie das Objekt selbst existiert.
Erzeugt wird ein Objekt mit der
new
-Anweisung. Damit ist das auch der Zeitpunkt, zu
dem die Attribute des Objekts entstehen. Die Lebensdauer des Objekts endet automa-
tisch, sobald es im Programm keine Referenz mehr auf das Objekt gibt. Wann genau das
passiert, kann nicht eindeutig vorhergesagt werden, denn darüber entscheidet das Lauf-
zeitsystem. Man kann aber sagen, dass es spätestens dann passiert, wenn keine Zugriffs-
möglichkeit (Referenz) mehr besteht und der verfügbare Speicherplatz zur Neige geht.