2017-04-02 52 views
0

任务是...有人可以请参考变量解释这个答案吗?

假设已经声明了一个名为myString的String类型的引用变量。创建一个String类型的对象并将其分配给引用变量myString。

正确的答案是...

String myString2 = new String(); 
    myString = myString2; 

我不明白这一点,但。它只是说创建一个对象并将其分配给引用变量。你应该怎么知道把它称为myString2,为什么创建它,如果等于第一个?这到底是什么?如果myString已经是一个对象,它本质上是创建一个对象的对象?

回答

0

我不完全确定你在问什么,但我会试着按我理解的方式解释它。

所以当你第一次做字符串String myString = newString();时,它会在内存中创建一个字符串变量。然后myString实际上做的是指向那个内存的位置。

所以,当你去String myString2 = new String();你是做了完全一样的事情,除了在内存中的不同位置。那么当你去myString = myString2;你是myString参考等于myString2参考,因此使他们指向内存中的相同位置 - 具有相同的参考值。

我希望那是你所问的

+0

我想我不明白你为什么会这样做?创建具有完全相同参考价值的东西的目的是什么?这不是多余的吗? –

+0

现在?是。但也许这个任务只是试图教你如何引用工作。我不能想到在我头顶的确切情况,我希望两个不同的变量指向完全相同的参考。也许当你想改变他们不同。 – forJ

相关问题