Überschreibung des Integer-Wert

Hallo!

1) In Java gibt es kein Call by Reference... alles in Java wird per Value uebergeben auch Referenzen (und nein, dass ist dann kein Call by Reference...).
2) In Java gibt es keine Funktionen sondern nur Methoden.
3) int und Integer sind zwei paar Schuhe (was durch Autoboxing in Java 5 verschleiert wird)
4) Lies mal ein Java Buch.

Gruss Tom
 
Thomas Darimont hat gesagt.:
Hallo!

1) In Java gibt es kein Call by Reference... alles in Java wird per Value uebergeben auch Referenzen (und nein, dass ist dann kein Call by Reference...).

Gruss Tom
wozu ist eine Referenz->per Referenz kann ich Variablewert verändern, wenn eine Referenz per call by value übergeben wird, dann erzeugt der Compiler eine Kopie von dieser Referenz.
Was ich danach mit dieser Kopie tue, verändert die Referenz doch nicht.
 
danke euch. Jetzt verstehe ich, Integer wurde so gekapselt, dass man überhaupt keine interne Zustaende aendern darf. Es laesst nur durch eine Wrapper-Klasse realisieren.
1. Es gibt in Integer nur get-Methode ohne set-Methode, warum?
2. Es wird natuerlich viel besser, wenn java eine art Wrapper-template bietet.
 
HTML:
Bei der Parameterübergabe hat man also zwei Referenzen,
die auf dasselbe Objekt zeigen. ... Also: In Java werden Parameter 
immer per call-by-value übergeben. Auch Referenzen. 
Bei veränderbaren Objekten sind Veränderungen in der Methode 
auch beim Aufrufer sichtbar. Bei unveränderbaren Typen, 
wie beispielsweise primitiven Datentypen und Strings, merkt 
der Aufrufer nichts. Bei solchen unveränderlichen Typen könnte 
man eine Veränderung durch einen Wrapper nach außen tragen. 
Das ist vom Design her allerdings wahrscheinlich keine gute Lösung…
d.h.
wenn ich definiere :
Code:
MyClass MyObj = new MyClass();
definiere ich eigentlich eine Referenz.
 
Zuletzt bearbeitet:
Zurück