2 回答

TA貢獻1811條經驗 獲得超5個贊
1。首先,你要明白什么是變量。變量的實質是一小塊內存單元。這一小塊內存里存儲著變量的值
比如int a = 1;
a就是變量的名名,1就是變量的值。
而當變量指向一個對象時,這個變量就被稱為引用變量
比如A a =new A();
a就是引用變量,它指向了一個A對象,也可以說它引用了一個A對象。我們通過操縱這個a來操作A對象。 此時,變量a的值為它所引用對象的地址

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