你先明白什么是基本数据类型(byte/short/int/long/char/boolean/float/double)和非基本类型(类)!
然后弄清楚内存的栈和堆;
1,基本数据类型是直接存储在栈中的,所以int a = 1;是将1直接赋值给a变量;
2,非基本类型是通过new在堆中分配内存(Object obj = new Object()),然后将它在堆中的内存地址存储在栈中,最后将栈中的地址值赋给obj ,这叫obj指向new Object()。
3,String 有点特殊,对于你上面的String a = “abc”;这个abc也存储在栈中,但a存放的abc在栈内存中的首地址, 所以有“指向”这样的叫法。如果String a = new String(“abc”),则同2
|