Nein.
@kneitzel hat doch oben ein Beispiel gemacht. Würde es sich um Call by Reference handeln, dann würde die neue Zuweisung an die Variable
innerhalb der Methode auch die Variable
außerhalb der Methode ändern und das ist nicht der Fall.
Ich bin vielleicht nur durcheinander aber passiert nicht genau das wenn man als Parameter etwas wie einen String oder etwas Komplexeres hat?
Vielleicht verwechsel ich da auch nur was.
Irgendwie war ich der Meinung wenn man bspw. eine eine variable mit einem int wert übergibt als parameter, diese nicht geändert werden kann
(Also Änderungen an der Variable innerhalb der Methode nix am Wert ändern, den die Variable ausserhalb hat).
Während was Kompleres wo man die Referenz als Parameter übegibt statt direkt dem Wert wie bei einem int, da ändert sich der Wert durchaus wenn man in der Methode werkelt.
Das hat mich bisher ja immer dran gestört dass ich bei einer Methode, die was Komplexeres als Input nimmt, am methodenbeginn immer erst eine Deep Copy machen muss weil die Änderungen in der Methode sonst das "Original" ausserhalb der Methode beeinflussen.
Vielleicht verwechsel ich aber auich was oder ihr redet von etwas gänzlich Anderem
Wobei der erste Beitrag von kneitzel Sinn ergibt, oblgiehc ich die Adresssenanalogie irgendwie für mehr verwirrend als fördernd halte.
Weil wenn ich an Karte mit Adresse drauf denke:
Adresse sind Buchstaben und Zahlen, also string.
gut string ist auch kein primitiver Typ.
Aber die zahl ist int, also was primitives und aht damit mit referenzen so nix am Hut.
typische Shcnitzeljagd passt zu Referenzen.
An Punkt A verweist ein zettel auf Punkt B. Am Punkt B ist ein zettel, der auf Punkt C verweist.
Wie komme ich , stehend bei A, zu C?
ein Typ geht nicht hin und sagt mir direkt die Adresse von C (was wäre wie es bei primitiven Datentypen ist), sondern sagt mir "Geh zu B, dort steht wie du zu C kommst".
So in etwa
