java里的方法的参数传递的机制只有一种方式:值传递,值传递,值传递,重要的事情说三遍
每一个方法有相应的栈区来存储相应的局部变量,例如main(a,b)和swap(a,b),实际上是main方法栈区内有一块内存保存a,b,,然后作为实参给swap的形参a,b传值时,是swap栈区有分配两块空间将a,b的值拷贝来,然后在进行操作。
当传递的是基本数据类型时,没说的,在swap中把a,b折腾出花来,也只是在自己的栈区修改a,b的值,不会对main栈区的值进行影响
但是,当传递是引用数据类型时,此时在main栈区和swap栈区对a,b进行修改,都是对a,b所引用的内存空间的值进行修改,所以无论是如何main还是swap中进行修改,值都会改变。