java中数据参数调用在内存中的过程
传参
1.基本数据类型
基本类型作为方法参数传递的时候,不论方法调用过程中做了什么事情,都不会影响方法调用外传递的值。
下例中x y 的输出值为3,4,不做改变
解析:
基本数据类型是在内存中已经指定好了内存地址,3的地址存放在x中,4的地址存放在y中
方法调用:
用a获取了x表示的地址,
b获取了y表示的地址,
然后通过中间变量对a,b所代表的的地址进行了交换,此时a表示的是4的地址,b表示的是3的地址
调用结束后,方法出栈,局部变量a,b销毁,此时main方法中的x y所代表的地址并未发生变化。
2.引用数据类型
引用类型作为方法参数传递的时候,也是传递值(地址)。所以,
如果在方法执行过程中,没有操作引用数据类型的内容。则调用前后不影响。
如果在执行过程中,操作了引用数据类型的内容,则调用之后,在方法外面访问到的是最新的内容。