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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SmallRooker 中级黑马   /  2014-8-25 22:22  /  1460 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s1 = new String("abc");
今天看视频这里听老师讲 是创建了两个对象  一个存在  在堆中,
那他创建的另一个对象在池中吗?
还是存到了别的地方,当 这个s1被引用时,是系统自动判断饮用吗?还是直接引用堆中的对象?



12 个回复

倒序浏览
上面的代码中共两个对象,“abc”本身就是一个对象,在常量池中,然后又new出来一个,在堆中
回复 使用道具 举报
上述代码共两个对象,“abc”本身就是个对象,在常量池中,然后又new出来一个,在堆中。你说的有点错误,s1就是对象,意思是把new出来的赋值给s1。
回复 使用道具 举报 1 0
hsy 发表于 2014-8-25 23:30
上述代码共两个对象,“abc”本身就是个对象,在常量池中,然后又new出来一个,在堆中。你说的有点错误,s1 ...

秒懂 ,:lol
回复 使用道具 举报
相互交流一下,我把会的教给你,你把会的传授给我,挺好。
回复 使用道具 举报
hsy 发表于 2014-8-25 23:43
相互交流一下,我把会的教给你,你把会的传授给我,挺好。

我又发了个个帖子 你去看看 ,反正你也是睡不着。不是!
回复 使用道具 举报
hsy 发表于 2014-8-25 23:43
相互交流一下,我把会的教给你,你把会的传授给我,挺好。

对了你是不是要进军12期javaEE+云计算 ? 我现在正在努力呢?  要是你也考取这一期,咱俩加个好友吧,qq什么的 275937990 这是我的qq!
回复 使用道具 举报
hsy 中级黑马 2014-8-26 10:22:29
8#
SmallRooker 发表于 2014-8-25 23:51
对了你是不是要进军12期javaEE+云计算 ? 我现在正在努力呢?  要是你也考取这一期,咱俩加个好友吧,qq ...

对,9月16号开班的那一期
回复 使用道具 举报
啊啊啊啊 基础班啊我的!!!
回复 使用道具 举报
能教会别人证明你也会了,哎,我这块又忘了,我的12期啊啊
回复 使用道具 举报
"abc"本身在常量池中,用就拷贝,  new String("abc")是拷贝拼接的字符串包装一下在堆中创建对象,当 这个s1被引用时,引用堆中的对象
回复 使用道具 举报
个人认为啊,像这种引用型的变量,在初始创建并且赋值的时候,都会在栈内存和堆内存里面各自开辟空间存储,栈内存里面放的是你的变量名和引用的地址,堆内存里面放的就是你附的值。
回复 使用道具 举报
我学了学么久,没发现JAVA有池啊!求指教。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马