局部类的使用

package com.sadhu;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import java.text.SimpleDateFormat;
/**
局部类的使用
局部类不能使用private和public去修饰。它的作用域在这个声明的块中。外部无法访问局部类。一般实用用于只用一次的类。
*/
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()
    {
        class TimePrinter implements 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();//发出响声
                }
            }
        }
        ActionListener listener = new TimePrinter();
        Timer t = new Timer(interval,listener);
        t.start();
    }
    private int interval;
    private boolean beep;
}


你可能感兴趣的:(局部类的使用)