日期:2014-05-20  浏览次数:20559 次

求教~关于参数传递和作用域的迷惑~~
刚学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;