【发布时间】:2015-08-01 06:14:03
【问题描述】:
我有以下代码:
trait IntervalUpdate {
val updateInterval: Long
def onUpdateTask(): Unit
val timer: Timer = new Timer()
val timerTask = new TimerTask {
override def run(): Unit = onUpdateTask()
}
timer.scheduleAtFixedRate(timerTask, updateInterval, updateInterval)
}
我将此特性混合到一些类中并覆盖 onUpdateTask 方法。
问题是当我这样做时,run() 函数根本不会被调用。
但是,如果我执行以下操作:override def run(): Unit = println("message"),则会调用它。
我觉得这与 TimerTask 和 Timer 处理 Jave 代码并尝试使用 mixins 有关,但我认为这应该可行。
非常感谢任何帮助。
【问题讨论】:
标签: java scala timer timertask traits