Unerwartetes Verhalten beim Arbeiten mit Referenzen

thatIsAFeature

Grünschnabel
Code:
public class Test {
public static void main(String[] args) {
	Test t = new Test();
	Point p = new Point (1,1);
	System.out.println(p);
	t.modify(p);
	System.out.println(p);
}
private void modify(Point p){
	p = null;
}
}

Was erwartet Ihr beim zweiten sysout null
Hab ich auch. Da es sich um eine Referenzvariable handelt und anders als bei den primitiven Datentypen Referenzen übergeben werden.
Aber nein es sind zwei identische Ausgaben.
Kann mir das Verhalten einer erklären Besten Dank
 
Es wird nur eine Kopie der Speicheradresse übergeben.
Deswegenhat das 0 setzen keine Auswirkung auf das
eigentliche Objekt.

Benny
 
Zurück