我試圖使用定時器來定期重複一個函數。現在我必須將輸入傳遞給該函數,但是我收到錯誤「活動不是抽象的,也不會覆蓋java.util.timertask中的抽象方法run()」。類不抽象,也不重寫java.util.timertask中的抽象方法run()
將值傳遞給定時器調用的嵌套函數的正確做法是什麼?在線或java文檔中的示例太模糊。
下面是代碼的骨架。任何想法?也是一個鏈接到一個文件,這個問題的解釋更好,將不勝感激。
謝謝!
import java.util.*;
public class className {
Timer timer;
public static void main(String args[]) {
//declarations...
initialiseInputs(args);
new executePeriodicActivities(milliseconds); // milliseconds are in "args"
}
public void executePeriodicActivities(int seconds) {
timer = new Timer();
timer.scheduleAtFixedRate(new activity(args), 0, milliseconds);
}
class activity extends TimerTask { //error!
public void run() {
function(args)
if(condition(args)) {timer.cancel();}
}
}
}
建議:你應該在用大寫字母命名你的類的習慣。有兩個原因:1)它使你的代碼更容易閱讀, 2)所以人們不再告訴你這麼做;-) – Jeremy 2010-11-17 17:16:27
@傑瑞米,#2讓我大聲笑出聲來。 – jjnguy 2010-11-17 17:23:55
讓我們說這是我強烈的蘇格蘭口音:P,但我會盡量記住 – 2010-11-17 17:30:22