关于赋值问题

关于赋值问题

phone one=new phone();

one.message="hello";

phone two=one;

two.message="world";

System.out.println(one.message);


one 是hello, 

one给two赋值了, 那么two 就是hello

 下面又进行了重新赋值, two变成了world, 为什么one也是world??

two又没有对one进行赋值

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,Phone two =one的意思是指two的地址指向了one的地址,这样one和two在内存中指向的是同一个地址值;two.message值改变为world,那么这个内存地址中值就进行了改变,从而使用one调用时也是该值

祝学习愉快

  • rock221 提问者 #1
    也就是和变量赋值的逻辑不一样对吗
    2020-11-13 16:49:32
  • 好帮手慕阿园 回复 提问者 rock221 #2
    同学你好,是的,对于基础类型的数据可以叫做赋值,如果是引用类型是地址的引用,也就是传递地址 祝学习愉快
    2020-11-13 17:25:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师