【发布时间】:2020-03-21 14:16:00
【问题描述】:
假设代码是:
public class Test {
public void test() {
JPanel panel = new JPanel();
int a;
JLabel label = new JLabel();
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
panel.setBackground(Color.BLACK); // Correct
a = 0; // Wrong, should be final
}
});
}
}
我很困惑,为什么我可以在没有final 的情况下访问JPanel?
【问题讨论】:
-
@Eran 感谢您的通知,我已经更改了代码。