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