微波炉定时

来源:互联网 发布:java面向对象有多难 编辑:程序博客网 时间:2024/04/27 16:24
package com.derun.timer;

import java.awt.Toolkit;
import java.util.Timer;
import java.util.TimerTask;

public class MicrowaveTimer {

    private final Timer timer = new Timer();
    private final int minutes;

    public MicrowaveTimer(int minutes) {
        this.minutes = minutes;
    }

    public void start() {
        //要执行的任务
        Microwave heating = new Microwave(timer);
            //将任务和计时器关联在一起。第一个参数数要执行的任务
        //第二个参数是执行任务前的延迟时间,单位是毫秒
        timer.schedule(heating, minutes * 6 * 1000);

    }

    public static void main(String[] args) {
        final int minutes = 1;
        System.out.println("微波炉加热计时器开始计时," + minutes + "分钟后食物加热后会播放声音!");
        MicrowaveTimer microwaveTimer = new MicrowaveTimer(minutes);
        microwaveTimer.start();
    }

    //微波炉加热任务
    class Microwave extends TimerTask {

        Timer timer;

        Microwave(Timer timer) {
            this.timer = timer;
        }

        @Override
        public void run() {
            playSound();//加热时间到,播放声音
            timer.cancel();//结束进程
        }

        private void playSound() {
            System.out.println("食物加热好了,播放声音!~~~");
            Toolkit.getDefaultToolkit().beep();//叮
        }
    }

}


0 0