我需要在内部类中更改变量,但是我遇到了臭名昭著的“无法引用在不同方法中定义的非最终变量”的错误。
void onStart(){
bt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int q = i;
}
});
}
我很快创建了一个类,其中包含了我想要更改的所有内容,并在内部类之外制作了该类的最终版本。
class temp{
int q;
}
void onStart(){
final temp x = new temp();
bt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
x.q = i;
}
});
}
这似乎是我需要的并且它能够工作,但我想知道这是否是正确解决问题的方法。此外,我真的不喜欢使用单词temp
来命名我的类。是否有一个实际的编程术语来描述我所做的事情,以便我可以为我的类起更加描述性的名称?