A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小糊涂神 中级黑马   /  2014-7-13 08:52  /  1667 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小糊涂神 于 2014-8-11 12:32 编辑

demo d=new demo(); 什么意思啊,在栈和堆里是什么形式存在的???

4 个回复

正序浏览
demo d:表示声明一个对象,
d是存在【栈】当中的,表示是 指向 【堆】当中的 new demo() 内存地址,

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

demo d 这样写,不写=new demo();这样就是不new出来对象的:表示没有申请内存空间,会报错,【空指针异常:java.lang.NullointerEXception】。
回复 使用道具 举报
OCTSJimmy 发表于 2014-7-13 09:16
堆内存中存在一个demo实例化后的对象,其被d引用。
栈内存中存在demo类型的变量:d,其值为上行所描述的对 ...

实例化什么意思,什么时候用实例化。
回复 使用道具 举报
new是在堆中开辟内存存放这个对象,d是这个对象的实例,在保存在栈中
回复 使用道具 举报
堆内存中存在一个demo实例化后的对象,其被d引用。
栈内存中存在demo类型的变量:d,其值为上行所描述的对象的内存地址值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马