class TalkingClock {
public TalkingClock() {
}
/**
* Starts the clock.
*/
public void start(int interval, boolean beep) {
class TimePrinter implements ActionListener {
public void actionPerformed(ActionEvent event) {
System.out.println("At the tone, the time is " + Instant.ofEpochMilli(event.getWhen()));
if (beep)
Toolkit.getDefaultToolkit().beep();
}
}
var listener = new TimePrinter();
var timer = new Timer(interval, listener);
timer.start();
}
}
javap -private TalkingClock$1TimePrinter.class
Compiled from "InnerClassTest.java"
class TalkingClock$1TimePrinter implements java.awt.event.ActionListener {
final boolean val$beep;
final TalkingClock this$0;
TalkingClock$1TimePrinter();
public void actionPerformed(java.awt.event.ActionEvent);
}
javap -private TalkingClock.class
Compiled from "InnerClassTest.java"
class TalkingClock {
public TalkingClock();
public void start(int, boolean);
}