黑马程序员技术交流社区
标题:
请教一下这个怎么理解
[打印本页]
作者:
王毅
时间:
2013-3-14 17:16
标题:
请教一下这个怎么理解
本帖最后由 王毅 于 2013-3-14 22:04 编辑
string s=new string (''xyz''); 创建了几个string Object 对象?
答案是两个 一个是“xyz“ 一个是指向”xyz“的引用对象。
不理解 上面的意思 为什么是两个?
作者:
李贤贤
时间:
2013-3-14 17:20
2个对象;第一个,凡事用new的都是在创建对象;还有一个就是s,string类型的变量存储xyz!所以是2个对象
作者:
石国庆
时间:
2013-3-14 17:29
1楼是正解
作者:
岳珅
时间:
2013-3-14 17:31
感谢一楼,学习了!
作者:
马甲大王
时间:
2013-3-14 17:31
总共两个对象
1个是new出来的 s 指向"abc"的引用,在栈内存,
2对内存本来就有一个"abc"对象的。
知识点:String类的构造如String s = "abc";
和其他基本类型 如int i = 5;
一样都是引用直接指向堆内存的值;
作者:
郑志强
时间:
2013-3-14 18:03
创建了一个String 类型的对象S 并且指向堆里存放的xyz数据
s存储的是一个指向xyz数据的地址。
作者:
.netNo1
时间:
2013-6-19 17:02
两个。因为String是final类型的,当你写下String s的时候,再内存里已经有一个String对象S了。new String("xyz");这句在内存里创建了一个String“xyz”
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2