如何在匿名函数中访问 "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()