最终变量可能尚未初始化

Max*_*kyi 6 java android

我在一个方法中有这样的代码:

final TouchableSpan touchableSpan = new TouchableSpan() {

    @Override
    public void onClick(View widget) {
        this.setPressed(true);

        String extravar = touchableSpan.getMyVar();
    }
Run Code Online (Sandbox Code Playgroud)

在这一行,String extravar = touchableSpan.getMyVar();我得到一个警告,即变量touchableSpan可能尚未初始化.为什么?

当我添加final修饰符时出现此警告.在我之前variable is access from inner class, needs to be declared final.

Tag*_*eev 9

首先创建一个匿名类,然后将其分配给最终变量.因此,onClick理论上可以在最终变量初始化之前调用您的方法.为什么不使用this.getMyVar()