匿名内部类

package com.sadhu;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.text.SimpleDateFormat;
/**
匿名内部类
由于匿名内部类没有名字,所以不能创建构造函数
*/
public class Sample
{
    public static void main(String[] args)throws Exception
    {
        TalkingClock clock = new TalkingClock(1000,true);
        clock.start();
        
        JOptionPane.showMessageDialog(null,"退出程序?");
        System.exit(0);
    }
}
class TalkingClock
{
    public TalkingClock(int interval,boolean beep)
    {
        this.interval = interval;
        this.beep = beep;
    }
    public void start()
    {

        ActionListener listener = new ActionListener()//创建匿名内部类
        {
            public void actionPerformed(ActionEvent event)//实现接口
            {
                Date now = new Date();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//DateFomat的子类。
                System.out.println("现在时刻:" + sdf.format(now));
                if(beep)
                {
                    Toolkit.getDefaultToolkit().beep();//发出响声
                }
            }
        };
        Timer t = new Timer(interval,listener);
        t.start();
    }
    private int interval;
    private boolean beep;
}


你可能感兴趣的:(匿名内部类)