日期:2014-05-20  浏览次数:20809 次

创建了几个对象?
1.   StringBuffer   s1   =   new   StringBuffer( "abc ");
2.   StringBuffer   s2   =   s1;
3.   StringBuffer   s3   =   new   StringBuffer( "abc ");

请问上面的创建了几个对象?

答案是3。谁能解释以下原因吗?
谢谢

------解决方案--------------------
"abc "本身一个对象
s1通过 "abc "又new了一个
s2引用了s1 new出来的那个对象
s3又通过 "abc "又new了一个

------解决方案--------------------
创建对象1 "abc "
创建对象2 new StringBuffer(...);
创建对象3 new StringBuffer(...);

s1,s2,s3 是引用