我想这与发生之前的规则有关,但我没有具体的解释......我的问题是,是否保证线程“线程”可以看到 nonFinalField 对“Hello World”的引用?不,我不想让 nonFinalField 成为最终的,以后也不会更新,因为也没有允许它的方法。
希望我们可以用合理的解释来揭开这个例子的神秘面纱。
先感谢您。
亲切的问候,赫尔曼
public class Test2 {
private String nonFinalField;
public Test2() {
nonFinalField="Hello World";
}
void startThread() {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("nonFinalField: " + nonFinalField);
}
});
thread.start();
}
public static void main(String[] args) {
Test2 test = new Test2();
test.startThread();
}
}