Argumente als Referenz und gutes Java Buch
-
LordJaxom schrieb:
Ich stimme zu, wobei der erste Kernsatz aus dem zweiten hergeleitet werden kann, da Objekte und Arrays in Java ausschließlich als Referenz vorliegen können.
Genau, das ist hier der Punkt. Objekte werden nicht "per Referenz übergeben". In Java kommen Objekte als Variablen oder Ausdrücke direkt schlicht und einfach nicht vor, es gibt von vornherein nur Referenzen auf Objekte. Das gleiche gilt für Strings und Arrays.
IMO tut man sich keinen Gefallen, wenn man das als Beispiel für Call-by-reference ansieht.
Wie Java mit Call-by-reference aussehen könnte, kann man sich in C# anschauen. Da gibt es ebenfalls Referenz- und Werttypen, beide werden standardmäßig by value übergeben, können aber optional by reference übergeben werden:
void Method(ref Foo o) { o = new Foo(); } // ändert übergebene Referenz ... Foo o = new Foo(); Foo o2 = o; // o und o2 zeigen auf das gleiche Objekt Method(ref o); // o und o2 zeigen auf verschiedene Objekte