【发布时间】:2011-07-03 16:35:14
【问题描述】:
是否可以向匿名类传递参数或访问外部参数?例如:
int myVariable = 1;
myButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// How would one access myVariable here?
}
});
监听器有什么方法可以访问 myVariable 或传递 myVariable 而不将监听器创建为实际的命名类?
【问题讨论】:
-
可以从封闭方法中引用
final局部变量。 -
我很喜欢 Adam Mmlodzinski 的建议,即定义一个初始化私有 myVariable 实例的私有方法,并且由于返回
this而可以在右大括号处调用。 -
这个问题有一些共同的目标:stackoverflow.com/questions/362424/…
-
您也可以在匿名类内部使用全局类变量。也许不是很干净,但它可以完成这项工作。
标签: java anonymous-class