Java 核心技术(第八版)卷1:基础知识:例6-4P222InnerClassTest

这个例子中,TimePrinter类位于类TalkingClock的內部,它有很大的访问权限,既可以访问自己的成员变量,也可以访问它外面的类的成员。

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;
//本程序演示內部类的使用
public class InnerClassTest {
    public static  void main(String [] args)
    {
        TakingClock clock=new TakingClock(1000,true);
        clock.start();
        //让程序一直运行,直到用户选择了OK
        JOptionPane.showMessageDialog(null,"Quit Program?");
        System.exit(0);

    }

}
//一个clock,在固定的时间间隔内 打印出时间
class TakingClock
{
    //构造一个会说话的clock
    public  TakingClock(int interval,boolean beep)
    {
        this.interval=interval;
        this.beep=beep;
    }
    //启动 clock
    public void  start()
    {
        ActionListener listener=new TimePrinter();
        Timer t=new Timer(interval,listener);
        t.start();
    }

    private int interval;
    private  boolean beep;
}
class TimePrinter implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
        Date now=new Date();
        System.out.println("At the tone ,the time is:"+now);
        Toolkit.getDefaultToolkit().beep();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值