zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite
str = new String( "Der Gingham Hund" );

Antwort:

Der new-Operator erzeugt unter der Verwendung des Konstruktors String() ein Objekt.

Die zwei Schritte des Zuweisungsoperators

Rückblick: Es finden zwei Schritte statt, wenn der Zuweisungsoperator ausgeführt wird:

  1. Der Ausdruck rechts des "=" wird ausgewertet.
  2. Das Ergebnis der Auswertung wird der Variablen links des "=" zugewiesen.

Diese Schritte spielen sich folgendermaßen ab:

    String str;    // Name fuer ein zukuenftiges Objekt

    str =      new String( "Der Gingham Hund" );
    --+--      ----------------+--------------
      |                        |
      |
      |                        1.  Ein Objekt wird erzeugt, indem der Konstruktor verwendet wird.                                                                                            
      |                            Das Java System behält die Übersicht
      |                            wie das Objekt zu finden ist.

      2. Eine Referenz auf das Objekt wird in der  Variablen str gespeichert.

Eine Objektreferenz ist eine Information darüber, wie ein bestimmtes Objekt gefunden werden kann. Das Objekt ist ein Stück Arbeitsspeicher; eine Referenz auf das Objekt ist der Weg, um dieses Stück Hauptspeicher zu bekommen. Die Variable str enthält tatsächlich nicht das Objekt, sondern die Information darüber, wo das Objekt ist.

Objekte werden zur Laufzeit des Programms erzeugt. Jedes Objekt hat eine eindeutige Objektreferenz, die verwendet wird, um das Objekt zu finden. Wenn eine Objektreferenz einer Variablen zugewiesen wird, dann sagt diese Variable, wie das Objekt gefunden werden kann.

In Diagrammen werden Objektreferenzen üblicherweise als Pfeil von der Objektreferenzvariablen zum Objekt hin dargestellt.

FRAGE 5:

Angenommen wir haben eine Visitenkarte mit unserem Namen.

Sind die Visitenkarte, unser Name und wir, als Mensch, verschiedene Dinge?

Sind eine Variable, eine Referenz und ein Objekt verschiedene Dinge?