黑马程序员技术交流社区

标题: 那位大神解释下创建对象的问题 [打印本页]

作者: anyanyhai    时间: 2012-3-24 11:25
标题: 那位大神解释下创建对象的问题
String s = new String("xyz");
创建了几个String Object?

引用也是一个对象吗?

作者: 王思兰    时间: 2012-3-24 11:31
        两个或一个,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它一句那个常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’xyz’,这句代表就不会创建”xyz”自己了,直接从缓冲区拿。
作者: 唐朋    时间: 2012-3-24 11:32
本帖最后由 唐朋 于 2012-3-24 11:34 编辑

s 变量
new String对象
xyz 实例
作者: 张一凡    时间: 2012-3-24 11:37
两个
一个是字符串对象,一个是指向这个字符串引用的对象。

作者: 黄长利    时间: 2012-3-24 11:59
String s = new String("xyz");  
首先在string池内找,找到?不创建string对象:否则创建, 这样就一个string对象"xyz",  
遇到new运算符号了,在堆内存中创建string对象,并将其地址值返回给s,是第二个对象  
所以总共是2个对象
作者: 朱亚安    时间: 2012-3-24 12:06
2个呀。一个是常量。另一个是new string的时候创建的对象。这个对象引用的是这个常量的内容
作者: 陈汉帆    时间: 2012-3-24 12:13
额,老问题了,看这个帖子吧 http://bbs.itheima.com/thread-9597-1-1.html




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