奇怪了:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;/**
* This program demonstrates the use of inner classes.
* @version 1.10 2004-02-27
* @author Cay Horstmann
*/
public class InnerClassTest
{
public static void main(String[] args)
{
// keep program running until user selects "Ok" TalkingClock clock = new TalkingClock(1000, true);
clock.start();
//JOptionPane.showMessageDialog(null, "Quit program?");
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.
*/
public void start()
{
ActionListener listener = new TimePrinter();
Timer t = new Timer(interval, listener);
t.start();
} private int interval;
private boolean beep; public class TimePrinter implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
Date now = new Date();
System.out.println("At the tone, the time 。。is " + now);
if (beep) Toolkit.getDefaultToolkit().beep();
}
}
}
当我在在class TalkingClock前面加上public时,总有The public type TalkingClock must be defined in its own file错误,这是为什么呢?大家帮忙看一下,可以在机子上运行一下看看,不知是否是我设置问题。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;/**
* This program demonstrates the use of inner classes.
* @version 1.10 2004-02-27
* @author Cay Horstmann
*/
public class InnerClassTest
{
public static void main(String[] args)
{
// keep program running until user selects "Ok" TalkingClock clock = new TalkingClock(1000, true);
clock.start();
//JOptionPane.showMessageDialog(null, "Quit program?");
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.
*/
public void start()
{
ActionListener listener = new TimePrinter();
Timer t = new Timer(interval, listener);
t.start();
} private int interval;
private boolean beep; public class TimePrinter implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
Date now = new Date();
System.out.println("At the tone, the time 。。is " + now);
if (beep) Toolkit.getDefaultToolkit().beep();
}
}
}
当我在在class TalkingClock前面加上public时,总有The public type TalkingClock must be defined in its own file错误,这是为什么呢?大家帮忙看一下,可以在机子上运行一下看看,不知是否是我设置问题。
常识要记得