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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯国强 中级黑马   /  2013-11-5 01:03  /  743 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Person p=new Person();
ArrayList al=new ArrayList();
al.add(p);
上述代码执行中,内存加载情况是如何的?是否是将Person对象添加到al集合类中了吗?

评分

参与人数 1黑马币 +1 收起 理由
乔兵 + 1

查看全部评分

2 个回复

倒序浏览
自己画的,画的不好,不要介意

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
Person p=new Person();这句话是创建person对象,存放在堆内存中,栈内存中就有了一p
ArrayList al=new ArrayList();这句话是创建一个集合容器,使用Collection接口的子类,顺便说一下,集合中存放的都是对象的引用
所以当程序执行到al.add(p);创建的集合容器就把你创建的person对象的地址存放在了这个容器里面,同时al也在栈内存里面。图如一楼所画。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马