Java参数的传递,本质上是实参副本的传递,实参副本(形参)的改变,不影响实参。比如下面的程序说明:
package com.use;public class ParamChange { public int a; public int b; public void swap(ParamChange paramChange){ int temp=paramChange.a; paramChange.a=paramChange.b; paramChange.b=temp; paramChange=null;//即使这里赋值为null,使paramChange指向非有效地址,也不影响下面paramChange的输出。 }}import com.use.ParamChange;public class ParamChangeTest { public static void main(String[] args) { ParamChange paramChange=new ParamChange(); paramChange.a=6; paramChange.b=9; paramChange.swap(paramChange); System.out.println("a:"+paramChange.a+"----b:"+paramChange.b);//a:9----b:6 }}