第1个回答 2013-08-28
java中的String是比较特殊的,非面向对象的,所以应该是8个
String A = new String("nihao"); 1个对象
String B = A; 调用拷贝构造函数,会对传入的参数A生成一个临时对象 2个对象
String C = A+B; A,B作为重载操作符的参数传入后,会生成两个临时变量,同时返回值会生成一个临时变量,再赋值给C 调用拷贝构造函数还会生成一个临时变量,再上C本身,这里就有5个对象
所以总共应该是8个对象
相信下面的专家,我推荐他的~
第2个回答 2013-08-28
String A = new String("nihao"); 创建了2个String Object
一个是你作为参数的"nihao",一个是你自己创建的 newString("nihao");
而 String B = A; 引用了 newString("nihao"); 对象 没有创建
String C = A+B; 创建了1 个新的 String Object;
所以一共应该是3个
第3个回答 2013-08-28
首先,第一句话, “nihao”,在字符串常量池中,因为new String,所以创建了一个对象
String b=a,b获得了a的引用,此处没有创建对象
a+b肯定是另外一个了,,
所以应该是2个对象,
第4个回答 2013-08-28
3个对象,a b c