about the InneClass
/**
@version 1.10 2004-02-27
@author Cay Horstmann
*/
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;
publicclass InnerClassTest
{
publicstaticvoid main(String[] args)
{
TalkingClock clock =new TalkingClock(1000,true);
clock.start();
// keep program running until user selects "Ok"
JOptionPane.showMessageDialog(null,"Quit program?");
System.exit(0);
}
}
/**
A clock that prints the time in regular intervals.
*/
class TalkingClock
{
/**
Constructs a talking clock
@param interval the interval between messages (in milliseconds)
@param beep true if the clock should beep
*/
public TalkingClock(int interval,boolean beep)
{
this.interval = interval;
this.beep = beep;
}
/**
Starts the clock.
*/
publicvoid start()
{
ActionListener listener =new TimePrinter();
Timer t =new Timer(interval, listener);
t.start();
}
privateint interval;
privateboolean beep;
privateclass TimePrinterimplements ActionListener
{
publicvoid actionPerformed(ActionEvent event)
{
Date now =new Date();
System.out.println("At the tone, the time is " + now);
if (beep) Toolkit.getDefaultToolkit().beep();
}
}
}
but when i set the beep=false
it can work the same,why?

