Parameterübergabe

xyZman

Bekanntes Mitglied
Hi,
Hier einmal zuerst ein Auszug
" In Java wird der Wert des formalen Parameters c verändert durch
Java:
void methode(int c) {
c = 2*c;
}
Dies hat aber keine Auswirkung auf den aktuellen Parameter d im Aufruf
Java:
methode(d);
Wie ließe sich der Wert des aktuellen Parameters dennoch ändern ?
Wie bezeichnet man diese Art von Parameterübergabe ?"
Bin grade etwas verwirrt. Es geht doch darum das ich z.b die Methode methode() mit 2 unterschiedlichen Werten aufrufe. Einmal z.b mit c = 10 und d = 20.
Nun ist doch die Frage wie ich trotzdem vor Aufruf der Methode methode(d) den Parameterwert verändern kann oder ?
Ich hätte demnach einfach in der methode(c) die zuvor aufgerufen wird den Wert von d mit z.b 40 überschrieben.
Dazu sind die im Speicher natürlich global initialisiert. Sonst hätte ich ja keinen Zugriff.
Java:
static void m(int c){
    d =40;
    c = 2*c;
Will man in der Aufgabe aber nicht auf Referenzparamter hinaus ?
Ich hab womöglich alles missverstanden.. bin grad etwas verwirrt.


lg
Micha
 

HimBromBeere

Top Contributor
In Java gibt´s erstmal kein Call By Reference. Dennoch kannst du Parameter verändern, solange es sich um nicht primitve Datentypen (also irgendeine Art Objekt) handelt.
 

xyZman

Bekanntes Mitglied
Okay danke für den Hinweis. Ich habe nur noch keine Antwort auf diese Fragen.
Ich kann ja d einfach vorher in der Methode überschreiben und somit den Wert ändern.
Allerdings weis ich nicht auf welche Parameterübergabeart die Aufgabe aus ist.. habe ja in meinen Methoden formale Parameter welche den wert des aktuellen Parameters mit sich bringen
 

xehpuk

Top Contributor
Wie ließe sich der Wert des aktuellen Parameters dennoch ändern ?
So direkt gar nicht.
Wie bezeichnet man diese Art von Parameterübergabe ?
Call by reference, gibt es in Java aber nicht.

Man kann sich aber eine Lösung zusammenhacken, indem man sich einen Wrapper schreibt oder ein Array mit einem Wert verwendet.
Java:
void methode(IntWrapper c) {
	c.setI(2 * c.getI());
}
Java:
public class IntWrapper {
	private int i;
	
	public IntWrapper(int i) {
		this.i = i;
	}
	
	public int getI() {
		return i;
	}
	
	public void setI(int i) {
		this.i = i;
	}
}
Java:
IntWrapper c = new IntWrapper(21);
methode(c);
vs.
Java:
void methode(int[] c) {
	c[0] *= 2;
}
Java:
int[] c = {21};
methode(c);
 
Zuletzt bearbeitet:

KrokoDiehl

Top Contributor
Die Aufgabe ist auf einen anderen Weg aus, wie du das
Code:
d
mittels
Code:
methode()
verändern kannst. Über Parameter geht es ja offensichtlich nicht.
 

HimBromBeere

Top Contributor
Ich hätte demnach einfach in der methode(c) die zuvor aufgerufen wird den Wert von d mit z.b 40 überschrieben.
Dazu sind die im Speicher natürlich global initialisiert. Sonst hätte ich ja keinen Zugriff.
Geht schon in die richtige Richtung, allerdings ist die so erzeugte Variable nicht "global im Speicher", sondern lokal in der Instanz der Klasse.

Also etwas der Art:
Java:
public class MyClass{
	int d;
	
	public void setD(int d){this.d = d;}
	public int getD(){return d;}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
P Parameterübergabe, von Methode zu Methode zu main Java Basics - Anfänger-Themen 4
J Parameterübergabe in switch? Java Basics - Anfänger-Themen 2
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
M Methode Objekt als Parameterübergabe Java Basics - Anfänger-Themen 6
B Parameterübergabe in main Java Basics - Anfänger-Themen 1
E Erste Schritte Parameterübergabe - Prozentrechner Java Basics - Anfänger-Themen 5
S Methoden Parameterübergabe Java Basics - Anfänger-Themen 4
S Parameterübergabe zwischen zwei Programme Java Basics - Anfänger-Themen 4
Joew0815 Parameterübergabe Java Basics - Anfänger-Themen 3
Q Parameterübergabe - Objekt - Referenz Java Basics - Anfänger-Themen 5
K Parameterübergabe im Terminal(Linux) Java Basics - Anfänger-Themen 8
V Parameterübergabe von Methoden verstehen Java Basics - Anfänger-Themen 13
P Java-Konsolenanwendung mit Parameterübergabe (Windows) Java Basics - Anfänger-Themen 3
X Parameterübergabe per Reflection Java Basics - Anfänger-Themen 10
H Parameterübergabe Java Basics - Anfänger-Themen 4
S Parameterübergabe - identische Funktionen, aber falsche Funktion Java Basics - Anfänger-Themen 5
K Input/Output switch case - Parameterübergabe args[0] Java Basics - Anfänger-Themen 34
E Einfache Frage zur Parameterübergabe in Methoden Java Basics - Anfänger-Themen 8
A Parameterübergabe zwischen statischen und nicht statischen Klassen Java Basics - Anfänger-Themen 6
L Parameterübergabe Java Basics - Anfänger-Themen 6
K Parameterübergabe Java Basics - Anfänger-Themen 3
W Parameterübergabe Java Basics - Anfänger-Themen 9
Y Probleme mit Parameterübergabe Java Basics - Anfänger-Themen 8
O Parameterübergabe mit RadioButtons Java Basics - Anfänger-Themen 2
V Return - JA/NEIN - Parameterübergabe Array (Referenz) Java Basics - Anfänger-Themen 7
G Parameterübergabe über mehrer Klassen Java Basics - Anfänger-Themen 2
S parameterübergabe Java Basics - Anfänger-Themen 5
M Parameterübergabe an *.jar Java Basics - Anfänger-Themen 5
M Parameterübergabe an externe JAR-Datei? Java Basics - Anfänger-Themen 2
B Frage zu Code (Parameterübergabe) Java Basics - Anfänger-Themen 14
S Parameterübergabe: Generische Klasse Java Basics - Anfänger-Themen 4
B printf() mit Parameterübergabe? Java Basics - Anfänger-Themen 2
G Parameterübergabe als Referenz bzw. als Kopie Java Basics - Anfänger-Themen 4
G Java Applikation ein Programm mit Parameterübergabe starten Java Basics - Anfänger-Themen 3
V doPost parameterübergabe funktioniert nicht. Java Basics - Anfänger-Themen 5
G Problem bei Parameterübergabe Java Basics - Anfänger-Themen 2
T Runtime.getRuntime().exec mit parameterübergabe Java Basics - Anfänger-Themen 16
roflomfg Parameterübergabe in in "*.jar" files möglich? Java Basics - Anfänger-Themen 8
F Rekursive Aufrufe, Parameterübergabe, call by reference Java Basics - Anfänger-Themen 3
D probleme bei der Parameterübergabe Java Basics - Anfänger-Themen 12
M Parameterübergabe Java Basics - Anfänger-Themen 7
J Nested Layouts - Parameterübergabe bei ActionListener Java Basics - Anfänger-Themen 2
M Parameterübergabe! Java Basics - Anfänger-Themen 4
M Probleme bei Parameterübergabe in Rekursion Java Basics - Anfänger-Themen 5
K Parameterübergabe bei quickSort Java Basics - Anfänger-Themen 6
G Parameterübergabe bei Runtime.getRuntime().exec Java Basics - Anfänger-Themen 16
J parameterübergabe arraylist Java Basics - Anfänger-Themen 9
D args und parameterübergabe Java Basics - Anfänger-Themen 8
D Parameterübergabe mit JSP Java Basics - Anfänger-Themen 2
I Parameterübergabe beim Aufruf in der Kommandozeile Java Basics - Anfänger-Themen 4
B Parameterübergabe und return; Java Basics - Anfänger-Themen 3
F Performanceverlust bei ständiger Parameterübergabe? Java Basics - Anfänger-Themen 4
K Parameterübergabe Java Basics - Anfänger-Themen 5
R Parameterübergabe Java Basics - Anfänger-Themen 13
H Parameterübergabe zwischen einzelnen Funktionen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben