在Java中,引用變量是一種特殊的變量類型,可以用于引用內(nèi)存中的對(duì)象。
引用變量需要使用new
關(guān)鍵字創(chuàng)建,創(chuàng)建完成后,引用變量將指向內(nèi)存中新創(chuàng)建的對(duì)象。
String str = new String("Hello");
在上面的代碼中,創(chuàng)建了一個(gè)String
類型的對(duì)象,并將其引用賦給str
變量。
修改引用變量的值會(huì)直接影響到引用的對(duì)象。
String str1 = new String("Hello"); String str2 = str1; str2 = "World"; System.out.println(str1); // 輸出"Hello" System.out.println(str2); // 輸出"World"
在上面的代碼中,引用變量str1
和str2
最初都引用了同一個(gè)String
類型的對(duì)象。然而,修改str2
的值后,str1
的值并不會(huì)發(fā)生改變。
當(dāng)一個(gè)對(duì)象沒(méi)有被任何引用變量引用時(shí),Java的垃圾回收器就會(huì)將其回收。
String str = new String("Hello"); str = null; // 將引用變量置為null,使其不再引用任何對(duì)象
在上面的代碼中,將str
的值設(shè)置為null
后,它將不再引用任何對(duì)象。因此,之前創(chuàng)建的String
類型對(duì)象將成為可回收的垃圾對(duì)象。