如何在匿名函数中访问 "this"?
How do I access "this" in an anonymous function?
我在编写匿名函数时无法访问 this
。
public class Game extends JPanel {
public void action() {
new Thread(new Runnable() {
@Override
public void run() {
this.repaint();
}
}).start();
}
@Override
public void paint(Graphics g) {
// Paint stuff
}
}
我无法声明我的 class 的新实例,因为我无法在不获取 static/non-static 的情况下将 class 设置为我的 class 的新实例错误。
当你写
public void action() {
new Thread(new Runnable() {
@Override
public void run() {
this.repaint();
}
}).start();
}
因为你写的是anonymous inner class Runnable
,你写的时候指的是Runnable anonymous class this.repaint().
参考Game
class重绘,语法为Game.this.repaint()
我在编写匿名函数时无法访问 this
。
public class Game extends JPanel {
public void action() {
new Thread(new Runnable() {
@Override
public void run() {
this.repaint();
}
}).start();
}
@Override
public void paint(Graphics g) {
// Paint stuff
}
}
我无法声明我的 class 的新实例,因为我无法在不获取 static/non-static 的情况下将 class 设置为我的 class 的新实例错误。
当你写
public void action() {
new Thread(new Runnable() {
@Override
public void run() {
this.repaint();
}
}).start();
}
因为你写的是anonymous inner class Runnable
,你写的时候指的是Runnable anonymous class this.repaint().
参考Game
class重绘,语法为Game.this.repaint()