Java基础_110.this 内层原理

程序执行, 首先从main 方法开始, main 方法加载到内存中.

 然后这行代码在堆内存中创建了第一个对象s1, 并把堆内存中的地址值赋值给s1.

 接下来s1 调用setName 方法, 

 setName 方法加载到内存中.

 然后把"林青霞" 作为形参传递给SetName 方法中的String name. 

setName 这个方法是被s1 调用的, 所以调用者是s1, s1的地址值是001.

现在setName 方法中的this 就是s1.

 this 通过001 这个值找到堆内存中地址001所对应的内存空间.

 然后this.name 中的name 就找到了001这块内存地址里面的name.

 最后把"林青霞" 赋值给this.name, 也就是修改name 的值为"林青霞"

这样, setName 方法就调用完毕, 就从内存中消失了.

接下来创建第2个对象, 过程同理.

 

 

 

 

 

最后保留这样两个东西.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值