为了账号安全,请及时绑定邮箱和手机立即绑定

关于引用对象的问题

关于引用对象的问题

慕运维8079593 2019-03-01 11:12:29
能不能详细解释下为什么最后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 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-03-01
?
富国沪深

TA贡献1790条经验 获得超9个赞

那是,你引用的全是y的空间地址

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 430 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号