如果条件合适,如何在 ActionListener 中创建一个变量,使其值增加并保存在所有对象上(作为静态变量,但 ActionListener 不允许声明它)?
2 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
您可以使用静态内部类而不是匿名类:
class OuterClass {
//This static nested class may declare static fields
private static class MyStaticActionListener implements ActionListener {
private static AtomicInteger counter = new AtomicInteger(0);
@Override
public void actionPerformed(ActionEvent e) {
//implementation
}
}
}
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
您可以将静态变量放在任何类中。然后在您的 ActionListener 中,您只需使用ThatOtherClass.staticVariable
. 只要变量不是私有的/不受访问它的 ActionListener 保护的,它就会工作。
添加回答
举报
0/150
提交
取消