JAVA中只有值传递(用内存理解)
刚刚上路的小伙盘们牢记哦,JAVA只有值传递,八大基本类型传递的是值。所有当调用带有基本类型参数的方法时会把这个方法和他的局部变量一起合并成栈帧然后压栈,注意方法的参数也是这个方法的局部变量,所以当实参将值拷贝一份给形参的时候,实参和形参就没有关系了,形参就变成这个方法的局部变量了。所以当方法执行关闭然后出栈被销毁这所有的过程都和实参无关,所以实参不会变。
而引用数据类型传递的也是值,只不过这个值是地址。实参和形参有相同的地址指向同一个对象,所以无论通过那个地址来改变对象里面的值另一个也会随之改变。