Einzelnen Beitrag anzeigen
Ungelesen 13.07.11, 16:05   #9
mrburns
Newbie
 
Registriert seit: Dec 2009
Beiträge: 50
Bedankt: 28
mrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punktemrburns putzt sich die Zähne mit Knoblauch. | 2787 Respekt Punkte
Standard

Zitat:
Zitat von sirleo Beitrag anzeigen
das objecte trotz call-by-value als referenz übergeben werden(im grunde genommen) hat
performance gründe.
Aber wirklich nur bei dem Typ Object, da das anscheinend einen Zeiger in Java darstellt, hier ging es um Integer, ich hab zu dem Thema noch was gefunden :

Zitat:
Zitat von Handbuch der Java-Programmierung, Kapitel 7.3.3
Alle Parameter werden in Java per call by value übergeben. Beim Aufruf einer Methode wird also der aktuelle Wert in die Parametervariable kopiert und an die Methode übergeben. Veränderungen der Parametervariablen innerhalb der Methode bleiben lokal und wirken sich nicht auf den Aufrufer aus.
...
Wie bereits erwähnt, sind Objektvariablen Referenzen, also Zeiger. Zwar werden auch sie bei der Übergabe an eine Methode per Wert übergeben. Da innerhalb der Methode aber der Zeiger auf das Originalobjekt zur Verfügung steht (wenn auch in kopierter Form), wirken sich Veränderungen an dem Objekt natürlich direkt auf das Originalobjekt aus und sind somit für den Aufrufer der Methode sichtbar. Wie in allen anderen Programmiersprachen entspricht die call by value-Übergabe eines Zeigers damit natürlich genau der Semantik von call by reference.
mrburns ist offline   Mit Zitat antworten