本帖最后由 自己玩 于 2011-12-17 20:21 编辑
class bank
{
private int sum;
public void add(int a)
{
sum+=a;
System.out.println("sum= "+sum);
}
}
class cun implements Runnable
{ /*问题1*/private bank b=new bank();
public void run()
{
for (int x=0;x<3 ;x++ )
{ /*问题1*/b.add(100);
/*问题2*/new bank().add(100);
}
}
}
class bankdemo
{
public static void main(String[] agrs)
{ cun c=new cun();
Thread t1=new Thread(c);
Thread t2=new Thread(c);
t1.start();
t2.start();
}
}
如题,将上面/*问题1*/后面的代码和/*问题2*/后面的代码互换得到的结果不同,不知道为什么。
那位高手帮忙解答,谢谢! |
|