zur vorherigen Seite  zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Ja.

Abbildung der Aktion

Beispielprogramm unmittelbar nachdem die Methode aufgerufen wurde

Es sieht so aus, als gäbe es hier einen Widerspruch:

Es gibt tatsächlich keinen Widerspruch hier. Denkt daran, dass ein Array ein Objekt ist. Wenn ein Objekt als Parameter an eine Methode übergeben wird, bekommt die aufgerufene Methode eine Referenz auf das Objekt, nicht eine Kopie des Objekts.

In dem Beispiel, bekommt die setElementZero() Methode eine Referenz auf ein Arrayobjekt. Da der Parameter x auf das Array verweist, kann die Methode das Array ändern, indem sie x verwendet. Die Abbildung zeigt das.

Das ist Call by Value. Wenn die Methode arrAendern.setElementZero(arr, 0) ausgeführt wird, bekommt der Parameter x der Methode setElementZero() eine Kopie des Werts, der in der Variablen arr enthalten ist. Aber dieser Wert ist eine Referenz auf das Array.


FRAGE 7:

Da die Methode setElementZero() eine Referenz auf das Array hat. kann sie einzelne Arrayelemente ändern?

zur vorherigen Seite  zum Inhaltsverzeichnis   zur nächsten Seite