Java Reference
In-Depth Information
Bruch b;
Arbeitsspeicher
Abbildung 5.8 Definition einer Variablen vom Typ »Bruch«
5
Wie Abbildung 5.8 zeigt, ist mit dieser Anweisung nur ein Bezeichner definiert, der in
der Lage ist, auf eine Instanz der Klasse Bruch zu verweisen. Man nennt sie deshalb auch
Referenzvariable . Im Gegensatz zu den bisher verwendeten Typen ist damit aber im
Hauptspeicher noch kein Platz für die einzelnen Attribute zaehler und nenner reser-
viert. Auch die Adresse, an der sich die Instanz befindet, steht noch nicht fest. Es exis-
tiert im Hauptspeicher noch keine Instanz. Die Variable b hat zu diesem Zeitpunkt den
vordefinierten Wert null . Dieser Wert beschreibt sehr gut, dass die Variable noch keine
Instanz referenziert. So kann z. B. in einer if -Anweisung
if (b != null) ...
überprüft werden, ob sich hinter einem Bezeichner tatsächlich schon eine Instanz einer
Klasse verbirgt. Nur wenn die Bedingung (b != null) den Wert true zurückliefert, exis-
tiert bereits eine Instanz der Klasse Bruch , und nur dann kann auch auf die Attribute die-
ser Instanz zugegriffen werden.
Eine neue Instanz der Klasse Bruch erzeugen Sie mit dem Operator new ( Abbildung 5.9 ):
new Bruch();
new Bruch();
zaehler
nenner
Arbeitsspeicher
Bruch
Abbildung 5.9 Erzeugen einer Instanz des Typs »Bruch«
Wie Sie aus Abbildung 5.9 entnehmen können, fehlt hier die Verbindung zu einem
Bezeichner, über den Sie auf das Objekt zugreifen können. Deshalb werden in der Regel
die beiden Anweisungen Bruch b; und new Bruch(); zu einer Anweisung der Form Bruch
b = new Bruch(); verbunden ( Abbildung 5.10 ).
 
Search WWH ::




Custom Search