求教~关于参数传递和作用域的迷惑~~
刚学JAVA~问个问题:
参数传递和变量作用域相关的~~
我怎么看起来输出应该是4都都是1呢~答案为0,1,0,1
代码如下~~
public class ParamTester
{
public int memberVariable=0;
public static void main(String args[])
{
int param1=0;
ParamTester param2=new ParamTester();
ParamTester param3=new ParamTester();
int[] param4={0};
changeParameter(param1,param2,param3,param4);
System.out.println( "param1= " +param1);
System.out.println( "param2.memberVariable= " +param2.memberVariable);
System.out.println( "param3.memberVariable= " +param3.memberVariable);
System.out.println( "param4[0]= " +param4[0]);
}
public static void changeParameter(int param1,ParamTester param2,ParamTester param3,int[] param4)
{
param1=0;
param2.memberVariable=1;
param3=new ParamTester();
param3.memberVariable=1;
param4[0]=1;
}
}
不知道怎么用分~~ -_-
------解决方案--------------------新new了一个,用this.param3.memberVariable=1;