我如何访问instance variables
从匿名类的方法内部?
class Tester extends JFrame {
private JButton button;
private JLabel label;
//..some more
public Tester() {
function(); // CALL FUNCTION
}
public void function() {
Runnable r = new Runnable() {
@Override
public void run() {
// How do I access button and label from here ?
}
};
new Thread(r).start();
}
}
您正在寻找的是完全合格的地址,因为它们没有被标记final
final Runnable r = new Runnable() {
public void run() {
Tester.this.button // access what you need
Tester.this.label // access what you need
}};
您使用相同的访问模式Anonymous Inner Classes
建造时ActionListeners
以及其他事情。
这在规范中解释为15.8.4 限定此 http://docs.oracle.com/javase/specs/jls/se5.0/html/expressions.html#15.8.4,投反对票的人显然没有读过这些内容。并且也没有阅读理解代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)