有效最终并在

时间:2015-07-11 11:56:34

标签: java

我可以在Java中创建一个有效的final变量:

MyOtherClass myEffectivelyFinalObject = //...
return new MyClass() {

    @Override
    public void myMethod() {
        myEffectivelyFinalObject.doSomething();
    }
}

我的问题是,当我执行以下操作时,我是否会获得相同的“发生在之前”的关系:

MyOtherClass myEffectivelyFinalObject = //...
return new MyClass() {

    private final MyOtherClass innerReference = myEffectivelyFinalObject;

    @Override
    public void myMethod() {
        innerReference.doSomething();
    }
}

我保证myEffectivelyFinalObject是线程可见吗?

0 个答案:

没有答案