2016-02-05 55 views
-7
String s1=new String("rahul"); 
s1=new String("rahul"); 
s1=new String("kumar"); 
String s2=new String("rahul"); 
s2=new String("rahul"); 
s2=new String("kumar"); 

//创建了多少个对象?有多少物品?

+2

42!似乎是一个家庭作业倾倒。我投票结束这个:不清楚你在问什么。请澄清您的具体问题或添加其他详细信息,以突出显示您的需求。正如目前所写,很难确切地说出你在问什么。请参阅如何问问页面以获取帮助以澄清此问题。 – ctst

+0

新关键字每次创建新对象 –

+0

*“新关键字每次创建新对象”* - 至少有一个新对象。 (你看过'String'构造函数做什么了吗?) –

回答

0

每个new String(...)创建一个新的对象。所以在你的例子中创建了六个对象。创建

0

其实,

  1. 一个>>不确定< <数量的对象。创建String(使用new)还需要创建表示它的内部对象或对象。

  2. 六个String代码执行时创建对象。还有两个与代码相关的String对象...表示字符串文字。

  3. 执行代码片段结束时,仍然存在的String个对象的数量是>> indeterminate < <。现在创建的六个String对象中的四个将无法访问,但它们将继续存在,直到GC删除它们或JVM退出。

相关问题