Angenommen, dass das Programm soeben in den Arbeitsspeicher geladen wurde und gerade dabei ist zu starten:
Wie viele Referenzvariablen gibt es? 3
Wie viele Objekte gibt es? Null
Hier ist eine Abbildung der Variablen in dem Moment in dem das Programm gerade gestartet ist.
Es wurden noch keine Objekte instantiiert (erzeugt), so dass
die Referenzvariablen
a, b und c
noch auf kein Objekt verweisen.
Um das zu betonen wurden die Objektboxen, die die einzelnen Variablen repräsentieren, mit einem Schrägstrich dargestellt.
Hier ist noch mal das Programm:
import java.awt.*; // Klassenbibliothek importieren, in der Point definiert ist
class PointBsp1
{
public static void main ( String arg[] )
{
Point a, b, c; // Referenzvariablen
a = new Point(); // einen Point erzeugen bei ( 0, 0 );
// Referenz in "a" speichern
b = new Point( 12, 45 ); // einen Point erzeugen bei ( 12, 45 );
// Referenz in "b" speichern
c = new Point( b ); // einen Point erzeugen, der dieselben Daten enthält
// wie die Daten, die durch "b" referenziert werden
}
}
Dieses Programm:
a, b und c,
welche auf Objekte vom Typ Point verweisen können.Point-Objekt mit x=0 und y=0.a.Point-Objekt mit x=12 und y=45.b.Point-Objekt.c.
Sobald jedes Point-Objekt instantiiert ist, ist es gleich jedem anderen (mit Ausnahme der Datenwerte).
Es ist egal welcher Konstruktor benutzt wurde um es zu instanziieren.