1、按值传递
上述程序有main方法和demo方法,在main方法中调用了demo方法,而在调用的时候,是把main方法中的2个变量的值复制了一份传递给demo方法中的a和b变量,这时在demo方法中对a和b进行修改,仅仅只能修改demo方法中的a和b,而对main方法中的a和b无法进行操作。
2、按引用传递
引用的传递:当在main方法中把arr所指数组的引用传递给demo方法,那么在demo方法中的arr和main方法中的arr同时指向堆中的同一个数组空间,这时不管是在main方法中还是在demo方法中通过引用都可以去修改堆中的同一个数组。
总结:
值的传递和引用的传递区别:
在程序中如果把具体的一个值传递给其他的方法,那么在方法中只能操作传递过来的那个值。
在程序中如果把某个地址传递给了其他的方法,这是在其他方法中获取到的是地址,那么通过地址就可以找到真实存放数据的空间,这是通过地址去操作同一个空间。