我正在尝试使用Java TimerTask每1分钟执行一次函数。
我有以下代码:
Public Class SomeClass{
String somevar = 'some text';
Timer timer = new Timer ();
TimerTask hourlyTask = new TimerTask () {
@Override
public void run () {
I need to access the variable somevar here.
}
};
}
取自此处:How to call function every hour? Also, how can I loop this?
问题是在函数run()中,我需要访问包含此TimerTask的应用程序中的一些变量。
我尝试了'this'关键字,但是,很明显,TimerTask是它自己的对象,所以'this'只引用TimerTask中的项。
答案 0 :(得分:1)
您可以使用OuterClass.this.outerVariable
,但通常这不是必需的,除非两个类(外部类和内部类)都具有相同名称的变量。否则外部类字段对内部类是完全可访问的。
如果您显示更多内容,包括您的尝试以及由此引起的任何编译错误,我们将能够更好地为您提供帮助。