能不能详细解释下为什么最后y会随着x的变化而变化
Point x = new Point(0,0);
Point y = new Point(1,1);
x = y;
x.setLocation(5,5);
System.out.println("x is :"+x);
System.out.println("y is :"+y);
程序运行结果:
x is java.awt.Point[x=5, y=5]
y is java.awt.Point[x=5, y=5]
ringa_lee2017-04-18 10:56:28
x 및 y 변수는 스택에 존재하며 힙의 두 개체인 new Point(0,0) 및 new Point(1,1)를 각각 가리킵니다. x = y를 실행하면 x는 힙에 대한 참조를 가리킵니다. y 메모리의 주소, x.setLocation(5,5)는 y를 직접 수정합니다. 마지막으로 x와 y는 모두 힙의 y를 가리키므로 x x=5, y=5<🎜의 수정된 내용이 인쇄됩니다. >