极大的耐心看完了,可是不太明白你想问什么?(或许问题太多了?)Java API 提供了极多的接口和方法使你方便的继承应用,以实现更加强大的功能。。类实例化前要声明,import语句就是引入它的声明,如果没有,你只好自己写了,JavaAPI就是使你不用再写这些重复的东西,有人已经写好,你直接用就行了,
对于一些空的接口方法,你可以根据自己实际的应用需要再继承实现它
对于一些空的接口方法,你可以根据自己实际的应用需要再继承实现它
解决方案 »
- [求助]:swt其他线程改变组件内容(如何非阻塞的判断线程池结束)
- Unrecognized SSL message, plaintext connection?
- csdn 插入代码问题
- 谁有Together6.0的注册码 能不能分享一下?
- file.separator实现什么功能哇?
- 关于flex的初级问题
- 说得简单通俗点,介绍一下Struts和Spring
- 3道编程题!~~各位高手来帮帮我啊!小女子先谢谢了!~
- 搞了两年多java了,结果今天才发现,实在是羞愧得很呀
- 新手,刚学习java,下边的编译报错,请大家指点……
- 一个字符串“我的文档/list_name/123342”,如何知道里面“/”有多少个?
- 记录网卡流量的小软件,谁有思路啊?
敢问大虾,这关MVC鸟事?!你懂MVC吗?另:希望楼主这次一定结帐:)
这位老兄说的的确没错,java得很多source都没有给出最底层的实现,
尤其是在和操作系统打交道时。jdk提供的一些抽象类和接口都是为了
方便大家写事件处理用的。
谢谢大家能看完我的这些幼稚的东西~!我就是很不明白~!我知道继承接口
是为了在那些方法里写需要执行的任务
可是那些接口的方法既然是空的
没有实际的内容
我为什么非要继承那些接口呢~?就比如说
class testest extends WindowAdapter这个类~!
我非要继承了他才能实现事件处理吗?
为什么非要用它固定的 public void windowClosing(WindowEvent e)空方法啊~?
这是上溯造型的一个例子java中调用的时候是这样的你调用addlistener,就把你的testest加到Frame类的一个vector中去了
然后当来了close事件之后
Frame遍历每一个vector中的元素,造型为windowListener类型
再调用这个对象的windowClosing方法。如果不造型为windowListener类型的对象就不能调用他的windowClosing
例如你写Object a = new Object(); a.windowClosing(null);
那么编译都通不过。所以是Object a = vector.get(i);
((windowListener)a).windowClosing(e);所以如果你不起继承windowListener接口,那么上边的造型会失败。
就是说((windowListener)a)会抛出一个ClassCastException而至于为什么要写Adapter呢,是为了方便我们先说为什么windowlistener要定义这么多接口方法
其实也是为了方便
否则的话,就要定义windowOpenListener,windowCloseListener等等
太麻烦了
所以统一定义为一个接口
然后定义一个Adapter把所有的实现写为空这样如果你想添加一个windowClose事件的监听器就把windowClosing
这个方法给覆盖。(注意override是多么重要)这样调用((windowListener)a).windowClosing(e);
实际上就是调用了你写个testest的windowClosing
这是上溯造型的一个例子java中调用的时候是这样的你调用addlistener,就把你的testest加到Frame类的一个vector中去了
然后当来了close事件之后
Frame遍历每一个vector中的元素,造型为windowListener类型
再调用这个对象的windowClosing方法。如果不造型为windowListener类型的对象就不能调用他的windowClosing
例如你写Object a = new Object(); a.windowClosing(null);
那么编译都通不过。所以是Object a = vector.get(i);
((windowListener)a).windowClosing(e);所以如果你不起继承windowListener接口,那么上边的造型会失败。
就是说((windowListener)a)会抛出一个ClassCastException而至于为什么要写Adapter呢,是为了方便我们先说为什么windowlistener要定义这么多接口方法
其实也是为了方便
否则的话,就要定义windowOpenListener,windowCloseListener等等
太麻烦了
所以统一定义为一个接口
然后定义一个Adapter把所有的实现写为空这样如果你想添加一个windowClose事件的监听器就把windowClosing
这个方法给覆盖。(注意override是多么重要)这样调用((windowListener)a).windowClosing(e);
实际上就是调用了你写个testest的windowClosing
希望我没有说错.嘿嘿嘿嘿