刚学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;
}}不知道怎么用分~~ -_-
参数传递和变量作用域相关的~~
我怎么看起来输出应该是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;
}}不知道怎么用分~~ -_-
方法执行到
param3=new ParamTester();
param3.memberVariable=1;
是 为什么等于0呢