java中if(flag)的问题
阳seed 2016-09-25 06:52:03
class Demo1
{
public static void main(String[] args)
{
Thread t1 =new Thread(new Test(true));
Thread t2= new Thread(new Test(false));
t1.start();
t2.start();
}
}
class Test implements Runnable
{
private boolean flag;
Test(boolean flag)
{
this.flag=flag;
}
public void run()
{
if(flag)
........
else
.........
最后一行的flag的值是根据什么来的?菜鸟纠结半天了,因为尝试着输出flag的值发现都是true,当我这么传的时候
Thread t1 =new Thread(new Test(false));
Thread t2= new Thread(new Test(false));
它调用的是else里的语句,是不是就说明flag的值还是true?但是我根本没传过true,默认的话也应该是false才对,所以想不通啊求大神帮