Eine gute Antwort könnte sein:

Ja.

Abbildung des Ablaufs

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

Es gibt tatsächlich keinen Widerspruch hier. Denken Sie daran, dass ein Array ein Objekt ist. Wenn ein Objekt ein Parameter ist, bekommt die aufgerufene Methode eine Referenz auf das Objekt, nicht eine Kopie des Objekts.

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

Das ist Call-By-Value, da wenn die Methode cng.zeroElt(value, 0) ausgeführt wird, bekommt der Parameter x der Methode den Wert, der in der Variablen value enthalten ist, welcher eine Referenz auf das Array ist.


FRAGE 7:

Da die Methode zeroElt()eine Referenz auf das Array hat, kann sie die einzelnen Arrayelemente ändern?