zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Wie viele Objekte gibt es in diesem Programm? Wie viele Referenzvariablen gibt es?

Antwort:

Es gibt ein Objekt (nachdem der new-Operator gearbeitet hat) und es gibt zwei Referenzvariablen.

Abbildung von einem Objekt und zwei Referenzvariablen

Hier ist eine Abbildung, die die Situation in dem neuen Programm zeigt:

Jetzt ergibt die Auswertung des Ausdrucks strA == strB true, da der Inhalt von strA und von strB der gleiche ist (d.h. sie beide enthalten die gleiche Referenz).

    String strA;  // wird eine Referenz auf das Objekt enthalten
    String strB;  // eine weitere Kopie der Referenz auf das Objekt

    strA = new String( "Der Gingham Hund" );
    System.out.println( strA );

    strB = strA;
    System.out.println( strB );

    if ( strA == strB )
      System.out.println( "Die gleiche Information in jeder der Referenzvariablen." );

Wenn zwei Referenzvariablen auf dasselbe Objekt verweisen, wird der == -Operator wahr ergeben.

FRAGE 16:

In dem neuen Programm, betrachtet der == -Operator die Inhalte der Objekte?