1、为什么counter始终为1? 2、怎样在main方法中输出counter的值? 求大神分析一下,感觉很混乱。
public class Mix4{
int counter = 0;
public static void main( String [] args){
int count = 0;
Mix4 [] m4a = new Mix4[20];
int x = 0;
while(x < 9){
m4a[x] = new Mix4();
m4a[x].counter = m4a[x].counter + 1;//m4a[0].counter==1,counter变为1吗?
count = count + 1;
count = count + m4a[x].maybeNew(x);
x = x+1;
}
System.out.println(count+" "+m4a[1].counter);
}
public int maybeNew(int index){
if(index<5){
Mix4 m4 = new Mix4();
System.out.println("counter:"+counter);
//我在这里输出了一下,counter==1,也就是传进来时counter值就为1了,是上面那个位置改的吗?那下面的m4.counter不应该==2吗,为什么仍然==1?
m4.counter=m4.counter+1;
System.out.println("counter:"+counter);
//我又输出了一下counter,为什么依然为1,m4.counter改变不了吗?
return 1;
}
return 0;
}
}