引用传递就是指将堆内存空间的使用权交给一个或多个栈内存空间。
引用传递是整个Java的精髓所在。
String的内容一旦声明则不可改变,改变的是内存地址的指向。
由于String本身属于一个特殊的操作类,而且这个类的最大特点是内容不可改变,所以可以像基本数据类型那样理解。
基本数据类型本身不牵扯到内存关系,而且传递时也只是数值传递,不是内存传递,这个特点即方法里不管做何种修改操作,都不会影响原数据内容。
public class RefDemoTest {
public static void update(int temp){
temp = 20 ; //修改数据,不影响原始数据
}
public static void main(String[] args) {
int data = 10 ; //基本数据类型
update(data) ; //参数传递,不牵扯到内存分配
System.out.println(data);//输出data的值仍为10,没有被改变
}
}