newFrame.addWindowListener(new WindowAdapter(){ //WindowAdapter是抽象类
public void windowClosing(WindowEvent e)
{
new test("Second").setVisible(true); }
});
可为什么能生成内部匿名类呢?
public void windowClosing(WindowEvent e)
{
new test("Second").setVisible(true); }
});
可为什么能生成内部匿名类呢?
解决方案 »
- 求推荐本段时间概览JAVA的书
- 关于java io的一个为问题
- How to delete the file by java? (waiting online) 50
- 我的IE怎么都找不到.class文件
- 请问读取一个File,一定要存入Byte Array么,我想存入double[][]可以么?
- jdeveloper
- 关于文件流。。。
- 急问题:在java中嵌入sql的插入语句,插入成功,但是出现异常
- 帮帮忙,运行一个十分简单的java////////jdk下,为什么运行以后,什么画面也没有?
- 辞职了,烤烟了。
- public static void exit(int status) status的数值,对退出有什么区别吗?
- 高手帮忙看看,为什莫不出结果???
楼主【Java_gannbare】截止到2008-07-29 10:06:47的历史汇总数据(不包括此帖):
发帖的总数量:4 发帖的总分数:130 每贴平均分数:32
回帖的总数量:6 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:4 结贴的总分数:130
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
它可以帮我们把Listener中所有的方法都给实现出来,然后可以改掉想要处理的方法就可以了
这个程序可以理解为:newFrame.addWindowListener(this);然后你要去实现WindowListener接口中的各个方法
但你现在使用了WindowAdapter(继承了Adapter),你就可以只要实现你想要的方法----windowClosing
这只是特殊的语法,编译的时候会给它起个名字,并写上
class 类名 extends WindowAdapter{
}
至于原理,可以看我写的一个帖子:
http://topic.csdn.net/u/20080728/20/d60f719a-c103-44b8-8d0c-bc1c818b768a.html
是出错的...是不是?抽象类不能直接生成对象.可是上述的匿名抽象类居然可以
new WindowAdapter(){
}
花括号中的内容是具体实现.