在我的Java項目中,單例類需要定期更新。這是通過在創建時設置定時器完成的。但這意味着update
函數必須是公開的。只有計時器任務應該能夠調用它。我該如何解決這個問題?如何讓一個TimerTask訪問一個單身人士私人?
public class MySingleton {
private TimerTask updateMySingletonTask = new UpdateMySingletonTask();
private static Timer timer = new Timer();
private MySingleton mySingleton = null;
public MySingleton() {
timer.schedule(updateMySingletonTask, 1000, 1000);
}
public static MySingleton getInstance() {
if (mySingleton == null)
mySingleton = new MySingleton();
return mySingleton;
}
public update() {
// ...
}
}
class UpdateMySingletonTask extends TimerTask {
@Override
public void run() {
MySingleton.getInstance().update();
}
}
我是新來的Java和非常感謝,如果你指出我的代碼其他(潛在)問題!
擊敗你8秒! :) 1+ –
該死!必須輸入得更快;) –