值传递:
值传递是相对于基本类型和String类型的数据而言的。顾名思义,值传递就是将值传给一个方法,注意:此时的“传”是指copy的意思,原来的值是不会改变的,所以你在一个方法里把copy来的值弄得稀巴烂,出了方法之后你再System.out.print一下,保证原来的数值不会变。什么?你输出的值变了?快去请个法师吧,你身边有鬼!
如:int i=0;
调用方法:对象.Way(i){
i++;
}
System.out.print(i);
你说输出是多少?
引用传递:
引用传递是对于引用类型来说的。java中的引用类型最常见的就是传递类和传递数组。引用传递又叫传址,此时就不再是将值copy一份过去,而是直接将地址连接到调用方法里,当你改变值的时候,就是改变传给方法的地址里面的值,此时再输出一下的话就是改变后的值了。
这两个概念比较着理解会更好,理解了相同点与不同点之后,运用起来还不是手到擒来。