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 🙂