能不能详细解释下为什么最后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]
欢迎选择我的课程,让我们一起见证您的进步~~
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
즉, 당신이 인용한 것은 y의 공간 주소뿐입니다
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
Google은 값으로 전달하고 참조로 전달합니다
생각하는 질문: 최종 결과물은 무엇인가요?
으아악 으아악즉, 당신이 인용한 것은 y의 공간 주소뿐입니다