call by reference?

Study123

Mitglied
Hallo zusammen,

ich habe eine Frage zu call by reference und JAVA, da ich das noch nicht so ganz verstanden habe:

Bei C++ wird das call by reference z.B. so abgewickelt:

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
int f [4];
int a = 0, b = 1;
void wechsel (int*, int*);
cout << "Vorher: " << a << ", " << b << endl;
wechsel (&a, &b); //call by reference
cout << "Nacher: " << a << " , " << b << endl;

system("PAUSE");
return EXIT_SUCCESS;
}

void wechsel (int *a, int *b) {

int h;
h = *a;
*a = *b;
*b = h;

cout << "Wechsel: " << *a << " , " << *b << endl;

}

Im Internet hab ich schon gelesen, dass so etwas bei JAVA mit primitiven Datentyp nicht abgewickelt werden kann. Gibt es dann gar keine andere Möglichkeit? Was mir als einiziges einfällt ist Verwendung von Wrapper Klassen (aber ich denke bei Wrapper Klassen kann man die Werte auch nicht so leicht ändern, da sie die Sichtbarkeit "final" haben?:

Java:
int i = 12;
Integer io = new Integer( i );
  io = new Integer( io.intValue() + 1 );
  i = io.intValue();


Wie funktioniert das denn dann genau bei JAVA?:
Laut Internet gibt es bei JAVA nur "call by value"?
Aber wenn ich bei Objekten die Werte übergebe, wie können dann die werte geändert werden?


Ich habe dazu folgenden Text gefunden:

"Objektvariablen sind Referenzen, also Zeiger. Zwar werden sie auch bei der Übergabe an eine Methode per Wert übergeben. (call by value) Da innerhalb der Methode aber der Zeiger auf das Originalobjekt zur Verfügung steht (wenn auch in kopierter Form) wirken sich die 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.

Kann mir das vielleicht jemand einfach erklären?

Danke :)

Viele Grüße!
 
R

roflcopter

Gast
_altes thema hervorgrab_

ich hab nochmal genau nach geguckt in einem anfängerbuch, dessen namen ich nicht nennen werden. es ist so, wie vermutet: weder in java noch in c gibt es echtes cbr...

das mit
Code:
refrenz != zeiger
ist auch ein märchen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java call by Value oder Reference Java Basics - Anfänger-Themen 35
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
X Verständnisproblem Call-By-Reference Java Basics - Anfänger-Themen 5
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
H call by reference & value Java Basics - Anfänger-Themen 14
B Call by Value/Reference Java Basics - Anfänger-Themen 4
Joew0815 Methoden Objekt als Methoden-Parameter - Kein call-by-reference? Java Basics - Anfänger-Themen 12
T Array prozedur, call by reference ? Java Basics - Anfänger-Themen 6
B Variablen Wie macht man eine call by reference mit primitiven Datentypen in Java? Java Basics - Anfänger-Themen 2
F Verständisproblem bzgl. nicht Vorhandensein von Call-by-reference Java Basics - Anfänger-Themen 2
B Call By reference (Null pointer exception) Java Basics - Anfänger-Themen 6
C Call by reference Java Basics - Anfänger-Themen 11
W call-by-reference-Effekt bei Objekten Java Basics - Anfänger-Themen 3
S "Call by Reference" Java Basics - Anfänger-Themen 12
M try-catch, call-by-reference, Streaming und Strings Java Basics - Anfänger-Themen 10
S call by reference Java Basics - Anfänger-Themen 7
F Wie kann ich call by reference umgehen? Java Basics - Anfänger-Themen 14
F Rekursive Aufrufe, Parameterübergabe, call by reference Java Basics - Anfänger-Themen 3
F Call-By-Reference umgehen Java Basics - Anfänger-Themen 4
B Call by Reference Java Basics - Anfänger-Themen 7
S call by reference vs. call by value - pls help Java Basics - Anfänger-Themen 7
K Eigene Annotations, Pre-/Post-/Call-Method Java Basics - Anfänger-Themen 6
G Klassen Call by Value auch bei Objekten? Java Basics - Anfänger-Themen 2
R Call By Referene? Java Basics - Anfänger-Themen 10
N Methode erfüllt nicht den zweck (Call by value) Java Basics - Anfänger-Themen 17
0 Call by value Java Basics - Anfänger-Themen 3
J Call by ... Java Basics - Anfänger-Themen 16
F java call jython Java Basics - Anfänger-Themen 7
C Unchecked Call? Wie Warnung beseitigen? Java Basics - Anfänger-Themen 3
I call to super must be first statement in constructor Java Basics - Anfänger-Themen 3
M Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 10
T Boolean by Reference Java Basics - Anfänger-Themen 6
T Schleifenindex "by reference" / "by value" Java Basics - Anfänger-Themen 13
O Socket by reference übergeben Java Basics - Anfänger-Themen 0
A Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 6
O Illegal Group Reference Java Basics - Anfänger-Themen 4
L Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 6
K Variablen Cannot make a static reference to the non-static field time Java Basics - Anfänger-Themen 6
P Compiler-Fehler Cannot make a static reference to the non-static field process Java Basics - Anfänger-Themen 3
C Reference - wird gegen meinen Willen - auf null gesetzt Java Basics - Anfänger-Themen 2
F Mal wieder: Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 9
F Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 3
M Reference Java Basics - Anfänger-Themen 2
B Cannot make a static reference...?? Java Basics - Anfänger-Themen 5
B Mal wieder "cannot make a static reference..." Java Basics - Anfänger-Themen 2
N Reference to non-static method Java Basics - Anfänger-Themen 8
C Passing Reference by Value Java Basics - Anfänger-Themen 4
G Wieso ist eine String-Übergabe keine by-reference-Zuweisung? Java Basics - Anfänger-Themen 7
R Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 5
L [Gelöst] Cannot make a static reference ... Java Basics - Anfänger-Themen 12
N Connot make a static reference. deklarierungsfehler Java Basics - Anfänger-Themen 10
T object reference counts Java Basics - Anfänger-Themen 14
T Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 8
frau-u Altes Problem: non-static method cannot be reference Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben