最终变量可能尚未初始化

时间:2015-05-03 07:41:14

标签: java android

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

final TouchableSpan touchableSpan = new TouchableSpan() {

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

        String extravar = touchableSpan.getMyVar();
    }

在这一行String extravar = touchableSpan.getMyVar();上,我收到一条警告,表示变量touchableSpan可能尚未初始化。为什么?

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

1 个答案:

答案 0 :(得分:9)

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