接触过c语言的人都明白,c语言中有三种传递方式:分别为值传递、引用传递、地址传递。
在java中,有两大数据类型,分别为引用数据类型和基本数据类型,例子如:
一。Person s = new Person(), (s是引用变量也可以叫对象变量)
二。int a =3;
一.代码:变量s指向了Person对象就是说获得了对象的引用,通俗点讲就是s引用了Person对象。
1.对象都是在堆里分配内存的
2.引用,相当于句柄,在栈上给其分配了一点内存,该引用变量的值或者说存储的是指向的堆中对象的地址
二。代码:就是申明了一个基本数据类型变量a,值为3.
1.就是在栈上给a分配一个内存,数值为3
从以上就可以明白了引用的意思:栈中变量的内存是指向堆里堆里对象地址的,而不是像普通变量一样直接在栈里内存就存值了。
变量是在栈中分配了内存的,存了赋予该变量的值。