如何在匿名函数中访问“this”? [复制]
Posted
技术标签:
【中文标题】如何在匿名函数中访问“this”? [复制]【英文标题】:How do I access "this" in an anonymous function? [duplicate] 【发布时间】:2015-10-08 04:41:00 【问题描述】:我在编写匿名函数时无法访问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
我无法声明我的类的新实例,因为我无法将类设置为我的新类实例而不会出现静态/非静态错误。
【问题讨论】:
Game.this.repaint()
@MadProgrammer 非常感谢!
对不起,我不知道它叫内部类。
从技术上讲,在您的情况下,它是一个匿名类,但对于实例内部类也是如此;)
【参考方案1】:
当你写作时
public void action()
new Thread(new Runnable()
@Override
public void run()
this.repaint();
).start();
由于你在写匿名内部类Runnable
,所以你写this.repaint().
时指的是Runnable匿名类
引用Game
类重绘,语法为Game.this.repaint()
【讨论】:
以上是关于如何在匿名函数中访问“this”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章