Ja.
Es gibt nur ein Array und die Methode hat eine Referenz darauf. Folglich kann die Methode die Elemente des Arrays ändern, wie die Abbildung zeigt.
Der Unterschied zwischen dem ersten Programm und
diesem Beispielprogramm ist der,
dass Arrays Objekte sind.
Wenn eine Methode mit einer Objektreferenz aufgerufen wird
(wie arr
),
bekommt die Methode eine Referenz auf das Objekt und kann das
Objekt ändern (wenn das Objekt Änderungen erlaubt.)
Manche Objekte erlauben keine Änderungen,
wie zum Beispiel String
-Objekte.
Also kann eine Methode sie nicht ändern,
auch wenn sie eine direkte Referenz auf das Objekt hat.
Wenn in main()
der folgenden Methodenaufruf steht,
was würde mit dem Array passieren?
arrAendern.setElementZero( arr, 4 );