有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java最终变量可能尚未初始化

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

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) 个答案

  1. # 1 楼答案

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