【发布时间】:2021-08-13 19:53:31
【问题描述】:
我看到了一个使用 AWT 框架的 Java 程序示例,它包含以下代码:
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent) {
System.exit(0);
}
});
new WindowAdapter() 部分看起来像创建一个 WindowAdapter 类实例,但 WindowAdapter() { ... } 部分看起来像一个类(或可能是其他东西)声明,其中包含一个方法。那么这里到底发生了什么?
【问题讨论】:
-
一个合乎逻辑的猜测是,当用户关闭窗口(可能是框架)时,他们希望通过事件注意到该操作并进行一些最终处理
-
@Mat 适配器类是类而不是接口。它们使用空方法体实现接口方法,因此用户可以覆盖他们想要的方法,而无需显式提供空方法。