在 SO 和谷歌中寻找这个问题的答案,但找不到任何答案。
我有以下代码:
MyClass variable = new MyClass();
Button b = new Button();
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
System.out.println("You clicked the button");
variable.doSomething();
}
});
编译器返回这个:
从内部类中访问局部变量变量;需要声明为final
为什么variable
必须是最终的技术原因是什么?