栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

侦听器和适配器之间有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

侦听器和适配器之间有什么区别?

WindowListener是

interface
强制您使用
override
所有方法的方法,而WindowAdapter是实施方法的,
WindowListener
您只需要
override
处理您要处理的方法即可。

WindowListener
是接口,意味着你不能实例化的
WindowListener
,同时
WindowAdapter
是具体的类,您可以使用
new
操作符来实例化。

使用时

WindowAdapter
,代码仅在您的类仅覆盖所需的方法的地方更干净。例如:

WindowListener

public class CloseListener implements WindowListener {    // im not interest  on this event, but still need to override it    @Override    public void windowOpened(WindowEvent e) {    }    // im not interest  on this event, but still need to override it        @Override    public void windowClosing(WindowEvent e) {    }    @Override    public void windowClosed(WindowEvent e) {        System.exit(0);    }    // im not interest  on this event, but still need to override it        @Override    public void windowIconified(WindowEvent e) {    }    // im not interest  on this event, but still need to override it    @Override    public void windowDeiconified(WindowEvent e) {    }}

窗口适配器

使用适配器时,代码更干净:

// at Jframe classaddWindowListener(new CloseListener());// reusable Close Listenerpublic class CloseListener extends WindowAdapter {    @Override    public void windowClosed(WindowEvent e) {        System.exit(0);    }}

要么

addWindowListener(new WindowAdapter() {    @Override    public void windowClosed(WindowEvent e) {         System.exit(0);     }});

所以我建议使用

WindowAdapter
,但不必 遵循
。但是,两个API几乎相同,只是为了
WindowAdapter
方便创建侦听器对象而存在。

编辑:

由于

WindowListener
interface
,因此您可以在Jframe子类中实现它。

public class MainWindow extends Jframe implements WindowListener {    // this is ok}public class MainWindow extends Jframe, WindowAdapter {    // this is not allow}

但是你不能用

WindowAdapter



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431413.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号