2 回答

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
在java實(shí)現(xiàn)某個(gè)功能的時(shí)候,會(huì)將類實(shí)例化成對象,然后jvm再對實(shí)例化后的對象進(jìn)行操作。
實(shí)例化后的對象可以賦值,也可以引用。賦值時(shí),java會(huì)開辟一個(gè)新的地址用于存放變量,而引用則不開辟地址。
String a = "a";
String b = "a";
將String類實(shí)例化成對象a與b,并賦值
String c = new String("a");
將c指向new出來的String型對象"a"
System.out.println(a==b);
System.out.println(a==c);
由于a與b都為對象賦值,打印出來的結(jié)果應(yīng)該是true
而c是引用對象“a”,所以打印出來的結(jié)果應(yīng)該是false
對象:一個(gè)類的具體實(shí)例化;
引用:對象的別名,使用該別名可以存放該對象,編譯器不會(huì)為引用分配空間,新對象與源對象共用一個(gè)存儲(chǔ)地址空間;引用的生命周期是它所引用的對象的生命周期,函數(shù)里返回一個(gè)局部對象的引用是很危險(xiǎn)的
添加回答
舉報(bào)