2017-04-02 83 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

相關問題