Wird durch die Verwendung von str, in der obenstehenden Anweisung, die in ihr enthaltene Information geändert?

Eine gute Antwort könnte sein:

Nein. Das Verwenden der Information ändert sie nicht. Das ist das gleiche wie mit primitiven Variablen: das Verwenden (sagen wir in einem arithmetischen Ausdruck) ändert nicht ihre Information.

Ein ausführlicheres Beispiel

Hier ist eine etwas größere Version des Beispielprogramms, jetzt mit einer neuen Variable von einem primitiven Typ:


class BspString2
{

  public static void main ( String[] args )
  {
    String str;
    long   wert;

    str   = new String( "Der Gingham Hund" );
    wert = 32912;

    System.out.println( str   );
    System.out.println( wert );
  }
}

Wenn die Anweisung

str   = new String( "Der Gingham Hund" );

ausgeführt wird, wird ein neues Objekt erzeugt und eine Referenz auf dieses Objekt in str gestellt. Die Variable str verweist jetzt auf das Stringobjekt.

FRAGE 7:

Was passiert, wenn die Anweisung

wert = 32912;

ausgeführt wird?