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

图中new D()具体是如何执行的?d 和 new D()的区别是什么?

图中new D()具体是如何执行的?d 和 new D()的区别是什么?

慕容森 2019-03-20 14:15:26
查看完整描述

3 回答

?
喵喵时光机

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

嘛,按照Java的说法,所有的对象都存在堆里,也就是new出来的D的对象肯定是放在堆里的,生命周期由JVM管理。而d只是一个handle或者是指针,是局部变量,指向刚才new出来的对象,生命周期遵守局部变量的规则,如果超出作用域,那么将无法使用。

查看完整回答
反对 回复 2019-04-19
?
SMILET

TA贡献1796条经验 获得超4个赞

1.图中new D()具体是如何执行的?

执行到main方法中的时候执行的,首先会执行构造方法,然后在栈空间生成一个引用指向堆空间的对象。

2.d 和 new D()的区别是什么?

这是两个对象,是分配在堆上的两块不同地方的,所以它的值是不一样的。


查看完整回答
反对 回复 2019-04-19
  • 3 回答
  • 0 关注
  • 547 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信