JAVA设计一个计时器
时间: 2024-10-09 08:12:09 浏览: 11
在Java中,我们可以创建一个简单的计时器类来实现基本的定时任务功能。这里有一个基础版本的计时器设计示例:
```java
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
private Timer timer;
private boolean isRunning;
public TimerExample() {
timer = new Timer();
isRunning = false;
}
// 开始计时
public void startTimer(int delaySeconds, Runnable task) {
if (!isRunning) {
timer.schedule(new TaskWrapper(task), delaySeconds * 1000);
isRunning = true;
} else {
System.out.println("计时器已经启动,无法立即开始新的计时任务");
}
}
// 停止计时
public void stopTimer() {
if (isRunning) {
timer.cancel();
isRunning = false;
System.out.println("计时器已停止");
} else {
System.out.println("计时器未运行,无需停止");
}
}
// 匿名内部类用于包装Runnable任务
private class TaskWrapper extends TimerTask {
private Runnable task;
public TaskWrapper(Runnable task) {
this.task = task;
}
@Override
public void run() {
task.run();
}
}
}
```
在这个例子中,`startTimer`方法接受一个延迟秒数和一个任务(Runnable接口的实现),然后使用`Timer.schedule`来安排任务在指定时间后执行。`stopTimer`方法则取消当前正在运行的任务。