Übergaben in Java
-
Hallo
Ist es möglich mit einer void-methode werte zurückzugeben.
Ohne einer return anweisung.
So wie in C++.danke!!
-
meinst du das in etwa so bei C++:
void main(){ int x = 5; f(&x); cout << x << endln; return 0; } void f(int *x){ *x = 10; }
Nein, so direkt nicht.
Möglich ist dies nur, wenn Du eine Reference auf ein Objekt übergibst und dessen Inhalt dann veränderst.zB:
public class test{ public static int main(String[] args){ XXX y = new XXX(); y.x = 10; System.out.println(y.x); } public void f(XXX y){ y.x = 33; } } class XXX{ public int x; }
Normalerweise würde man das "x" in der Klasse XXX in der OOP private machen und per getter und setter Methoden darauf zugreifen. Und nicht wie hier jetzt direkt verändern.
-
Danke,
hast mir sehr geholfen.mfg luckiw
-
Man kann auch mit einem container arbeiten.
int[] array = new int[] {0}; public void function(int[] array) { array[0] = 5; } // main sysout(array[0]); // liefert '0' function(array); sysout(array[0]); // liefert '5'