call by reference

Status
Nicht offen für weitere Antworten.

Sergeant_Pepper

Bekanntes Mitglied
Hallo,

warum erzeugt dieses Programm die unten stehende Ausgabe?

Code:
public class MethodCall
{
    private static void calc2(Double d)
    {
        System.out.println("calc2 Double-Zahl: " +d);
        d=new Double(d);
        d*=4;
        System.out.println("calc2 Double-Zahl: " +d);
    }

    public static void main(String[] args)
    {  
        Double z2=3.33;
        System.out.println("main Zahl: " +z2);
        calc2(z2);
        System.out.println("main Zahl: " +z2);
    }
}

Code:
main Zahl: 3.33
calc2 Double-Zahl: 3.33
calc2 Double-Zahl: 13.32
main Zahl: 3.33

Hintergrund: ich möchte mehrere double-Werte durch eine Methode verändern lassen.
 

Sergeant_Pepper

Bekanntes Mitglied
Hallo SlaterB,

das ging ja schnell, vielen Dank :D Habe zwar hier im Forum nach dem Thema gesucht, aber der Beitrag ist wohl bei mir durchgerutscht.

Ich glaube es verstanden zu haben. :roll:

Rein hypothetisch gefragt: WENN es eine Möglichkeit gäbe, den Wert eines Double-Objekts direkt anzusprechen, würde mein Beispiel nach entsprechender Anpassung dann funktionieren?
 
S

SlaterB

Gast
genau, Änderung geht, aber nicht Neuzuweisung,

Umgehungstrick: ein Array oder sonstiges Objekt übergeben, welches einen double/ Doube enthält,
wenn du dann darin etwas änderst (statt wieder ein neues Array zuzuweisen wie auch im anderen Thread)
und in der main den Array-Inhalt anschaust, dann siehst du die Änderungen
 

Sergeant_Pepper

Bekanntes Mitglied
SlaterB hat gesagt.:
Umgehungstrick: ein Array oder sonstiges Objekt übergeben, welches einen double/ Doube enthält
In diese Richtung habe ich auch gerade gedacht, aber dann gehe ich lieber ganz anders vor und lasse die Methode etwas zurückgeben, anstatt mit Krampf ???:L "call by reference" nachzuahmen.
 
G

GastsaG

Gast
richtig, so wird der Quellcode auch um einiges lesbarer und weniger Fehleranfällig als der Trick mit Array.
 
Status
Nicht offen für weitere Antworten.
Ä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
S call by reference? Java Basics - Anfänger-Themen 52
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
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


Oben