为什么在run()方法里为sa赋值,在main方法里执行start()后sa没有+1,
其次为什么sName一开始也没变输出结果是“vandeleur”,而在输出t.sa的时候sName却变为“vandeleur 0 1 2 3”
public class Tux extends Thread {
static String sName = "vandeleur";
int sa=33;
public void run() {
for (int i = 0; i < 4; i++) {
sName = sName + " " + i;
}
sa+=1;
}
public static void main(String argv[]) {
Tux t = new Tux();
t.start();
//System.out.println(t.sa); //如果这条注释后则sName为vandeleur
System.out.println(sName);
}
}
注释掉System.out.println(t.sa);的运行结果为:
vandeleur
去掉注释System.out.println(t.sa);的运行结果为:
33
vandeleur 0 1 2 3