可以再写一个其他的示例吗
时间: 2023-08-27 22:05:45 浏览: 23
当然可以,以下是一个使用匿名内部类实现事件监听器的示例代码,同样带有注释说明:
```java
import java.awt.*;
import java.awt.event.*;
public class AnonymousInnerClassDemo {
public static void main(String[] args) {
// 创建一个Frame对象,并设置标题和大小
Frame frame = new Frame("Anonymous Inner Class Demo");
frame.setSize(300, 200);
// 添加一个Button对象到Frame中
Button button = new Button("Click Me!");
frame.add(button);
// 使用匿名内部类实现ActionListener接口来响应Button点击事件
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button is clicked!");
}
});
// 显示Frame
frame.setVisible(true);
}
}
```
注释说明:
- 第 3-4 行:导入 `java.awt` 和 `java.awt.event` 包下的类。
- 第 6 行:定义一个名为 `AnonymousInnerClassDemo` 的类。
- 第 8 行:定义一个名为 `main` 的静态方法。
- 第 10-14 行:创建一个 `Frame` 对象,并设置标题和大小。
- 第 16-18 行:创建一个 `Button` 对象,并添加到 `Frame` 中。
- 第 20-26 行:使用匿名内部类实现 `ActionListener` 接口,覆盖 `actionPerformed()` 方法的实现,以响应 `Button` 的点击事件。在本例中,匿名内部类只是简单地输出一条信息。
- 第 28-29 行:显示 `Frame`。
- 第 31 行:结束 `main` 方法。
在本例中,我们使用匿名内部类实现了 `ActionListener` 接口,并覆盖了 `actionPerformed()` 方法来响应 `Button` 的点击事件。这种方式可以在不定义新的类的情况下,实现事件监听器的功能。需要注意的是,在实现匿名内部类时,需要传入接口或抽象类的类型,并覆盖其中的抽象方法。