1、值传递是指基本数据类型做为方法的形式参数,对形式参数的改变不会影响到实际参数。
2、引用传递是指引用数据类型做为方法的形式参数,对形式参数的改变会影响到实际参数。
3、对于特殊的数据类型比如String、Interger、Double,对形式参数的操作不会影响到实际参数(对形式参数的操作是创建新对象不影响原有对象),可以理解成是值传递。
代码示例:
package cn.zxj.com; public class Demo { public static void main(String[] args) { //值传递 int i = 3; valueTransmit(i); System.out.println("main:"+i); //引用传递 StringBuffer stringBuffer = new StringBuffer("123"); quoteTransmit(stringBuffer); System.out.println("main:"+stringBuffer); //特殊参数传递(理解成值传递) String s = "123"; specialTransmit(s); System.out.println("main:"+s); } static void specialTransmit(String s){ s = "456"; System.out.println("specialTransmit:"+s); } static void quoteTransmit( StringBuffer stringBuffer){ stringBuffer.append("456"); System.out.println("quoteTransmit:"+stringBuffer); } static void valueTransmit(int i){ i=4; System.out.println("valueTransmit:"+i); } }