黑马程序员技术交流社区

标题: 不明白,求指点 [打印本页]

作者: 小糊涂神    时间: 2014-7-13 08:52
标题: 不明白,求指点
本帖最后由 小糊涂神 于 2014-8-11 12:32 编辑

demo d=new demo(); 什么意思啊,在栈和堆里是什么形式存在的???
作者: OCTSJimmy    时间: 2014-7-13 09:16
堆内存中存在一个demo实例化后的对象,其被d引用。
栈内存中存在demo类型的变量:d,其值为上行所描述的对象的内存地址值。
作者: 001可望成功    时间: 2014-7-13 09:28
new是在堆中开辟内存存放这个对象,d是这个对象的实例,在保存在栈中
作者: 小糊涂神    时间: 2014-7-13 09:38
OCTSJimmy 发表于 2014-7-13 09:16
堆内存中存在一个demo实例化后的对象,其被d引用。
栈内存中存在demo类型的变量:d,其值为上行所描述的对 ...

实例化什么意思,什么时候用实例化。
作者: 张周飞    时间: 2014-7-13 09:38
demo d:表示声明一个对象,
d是存在【栈】当中的,表示是 指向 【堆】当中的 new demo() 内存地址,

new demo():表示实例化一个对象 ;
new关键字 ---实例对象的一个关键字。凡是new出来的对象都存在【堆】当中。

demo d 这样写,不写=new demo();这样就是不new出来对象的:表示没有申请内存空间,会报错,【空指针异常:java.lang.NullointerEXception】。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2