Hallo liebe Community,
ich habe eine Verständnisfrage bezüglich Java Point.
Ich habe folgenden Code:
[CODE lang="java" title="Java Point Beispiel"]import java.awt.*;
public class Aufgabe {
public static void main(String[] args) {
Point p1 = new Point(17, 9);
Point p2 = new Point(3, -1);
Point p3 = p2;
p1.translate(3, 1);
p2.x = 50;
p3.translate(-4, 5);
System.out.println("p1: " + p1 + " p2: " + p2 + " p3: " + p3);
}
}
[/CODE]
Folgenden Output habe ich erwartet:
p1= 20, 10 --> Output wie erwartet
p2= 50, -1 --> Output ist 46, 4
p3=46, 4 --> Output wie erwartet
Ich bin bei p2 etwas verwirrt. Im Grunde setze ich doch p3=p2, somit übernimmt p3 die Werte von p2. P2 sollte also doch vom p3.translate(-4, 5) unberührt bleiben? Allem anschein nach ist dies jedoch nicht der Fall. Meine Frage wäre warum ändern p3.translate(-4, 5) den Wert von p2.
Vielen Dank und entschuldigung falls dies eine blöde Frage ist.
Liebe Grüße und einen stressfreien Tag
ich habe eine Verständnisfrage bezüglich Java Point.
Ich habe folgenden Code:
[CODE lang="java" title="Java Point Beispiel"]import java.awt.*;
public class Aufgabe {
public static void main(String[] args) {
Point p1 = new Point(17, 9);
Point p2 = new Point(3, -1);
Point p3 = p2;
p1.translate(3, 1);
p2.x = 50;
p3.translate(-4, 5);
System.out.println("p1: " + p1 + " p2: " + p2 + " p3: " + p3);
}
}
[/CODE]
Folgenden Output habe ich erwartet:
p1= 20, 10 --> Output wie erwartet
p2= 50, -1 --> Output ist 46, 4
p3=46, 4 --> Output wie erwartet
Ich bin bei p2 etwas verwirrt. Im Grunde setze ich doch p3=p2, somit übernimmt p3 die Werte von p2. P2 sollte also doch vom p3.translate(-4, 5) unberührt bleiben? Allem anschein nach ist dies jedoch nicht der Fall. Meine Frage wäre warum ändern p3.translate(-4, 5) den Wert von p2.
Vielen Dank und entschuldigung falls dies eine blöde Frage ist.
Liebe Grüße und einen stressfreien Tag