烟花 程序的相关问题

echomeng123 2011-09-19 04:50:14
frame.addWindowListener(new WindowAdapter()
{

public void windowClosing(WindowEvent e)

{
System.exit(0);
}
}

);

这是我从网上摘下的部分程序,我不明白最后一个 “);”,这是什么用法?没见过!请高手指点一二!
...全文
126 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
echomeng123 2011-09-20
  • 打赏
  • 举报
回复
谢了,分是你的了,请查收
liuyuhua0066 2011-09-19
  • 打赏
  • 举报
回复
首先,看下API:public void addWindowListener(WindowListener l),这里的参数是WindowListener。
再看WindowListener这个接口,它的实现类有一个是WindowAdapter,但是WindowAdapter是抽象类,不过这个抽象类将所有方法都定义为 null,所以只需针对关心的事件定义方法,就像你用到的只定义windowClosing方法即可。
这儿存在一个问题,因为WindowAdapter还是个抽象类,不能直接使用,需要自己再定义一个类来继承它,形如:

public class MyAdapter extends WindowAdapter {
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

再在frame.addWindowListener(new MyAdapter()),不过这样比较麻烦了,因为还得再写个类MyAdapter ,所以就出现了上面用到的匿名类,这样不用额外写个类,不过匿名类的写法估计你得适应一下,多见几次就习惯了,同时也就会用了。
echomeng123 2011-09-19
  • 打赏
  • 举报
回复
有人不?很急啊,麻烦高手啦!
echomeng123 2011-09-19
  • 打赏
  • 举报
回复
不对啊,我是新手,请高手能具体解释一下吗?
轻尘 2011-09-19
  • 打赏
  • 举报
回复
应该是等同与下边这段代码吧。
WindowAdapter winAdapter = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

frame.addWindowListener(WindowAdapter winAdapter );
liuyuhua0066 2011-09-19
  • 打赏
  • 举报
回复
这个是匿名类


softroad 2011-09-19
  • 打赏
  • 举报
回复
frame.addWindowListener(null);
见过吧?
jc8futao 2011-09-19
  • 打赏
  • 举报
回复
内部匿名类??

50,553

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧