java - 关于引用对象的问题
天蓬老师
天蓬老师 2017-04-18 10:54:28
0
3
401

能不能详细解释下为什么最后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]
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

모든 응답(3)
左手右手慢动作

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은 값으로 전달하고 참조로 전달합니다

생각하는 질문: 최종 결과물은 무엇인가요?

으아악 으아악
Peter_Zhu

즉, 당신이 인용한 것은 y의 공간 주소뿐입니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!