Eine gute Antwort könnte sein:

Erster  Wert von message: Only One Object
Wert des Parameters: Only One Object
Zweiter Wert von message: Only One Object

Nur ein Objekt

Das Programm funktioniert wie Sie es erwarten. Die Abbildung zeigt, was passiert. Die main() Methode erzeugt ein String-Objekt, das die Character "Only One Object" enthält. Eine Referenz auf dieses Objekt wird in der Objektreferenzvariablen messsage gehalten.

Denken Sie daran, dass eine Referenz auf ein Objekt ein Weg ist, es im Arbeitsspeicher zu finden. Wenn eine Methode eine Referenz auf ein Objekt hat, dann kann sie dieses Objekt verwenden.

Wenn die print() Methode aufgerufen wird, wird die Referenz auf das Objekt als Wert an den Parameter übergeben. Dies ist genau so wie bei der Call-By-Value Übergabe eines primitiven Datentyps, aber jetzt ist der Wert eine Referenz.

Die aufgerufene Methode print() verwendet ihren formalen Parameter st um das Objekt zu finden.


FRAGE 7:

Wenn print() den Wert der in st enthalten ist ändert, wird dies das aktuelle Objekt ändern?