极大的耐心看完了,可是不太明白你想问什么?(或许问题太多了?)Java API 提供了极多的接口和方法使你方便的继承应用,以实现更加强大的功能。。类实例化前要声明,import语句就是引入它的声明,如果没有,你只好自己写了,JavaAPI就是使你不用再写这些重复的东西,有人已经写好,你直接用就行了,
对于一些空的接口方法,你可以根据自己实际的应用需要再继承实现它

解决方案 »

  1.   

    你看到的src.jar里的java文件并不是JDK的所有源代码,JDK的底层API好多好像也是用C写的,如果你想仔细研究的话,去年好像是第7期程序员有详细介绍
      

  2.   

    看来。面向对象的概念和MVC你还是不清楚。代码实现是肯定有的。
      

  3.   

    jdk的源码不全。全的原码肯定有一些底层的调用,安装了jre你就可以看到许多的.dll文件,java就上靠调用它们处理windows平台的事件的。你看到的空的方法其实都应当有特定的实现。至于有些如WindowAdapter都是为了方便程序员的使用而设置的,感觉作用你已经了解了。你能提出这样的问题就是一个很大的进步。努力……To: yakuu(享受孤独) (  ) 
    敢问大虾,这关MVC鸟事?!你懂MVC吗?另:希望楼主这次一定结帐:)
      

  4.   

    大家讨论得这么热烈,再来加一层!!
    这位老兄说的的确没错,java得很多source都没有给出最底层的实现,
    尤其是在和操作系统打交道时。jdk提供的一些抽象类和接口都是为了
    方便大家写事件处理用的。
      

  5.   

    谢谢你啊~~~xiaobi_liang(淡泊以明志,宁静以致远...)
    谢谢大家能看完我的这些幼稚的东西~!我就是很不明白~!我知道继承接口
    是为了在那些方法里写需要执行的任务
    可是那些接口的方法既然是空的
    没有实际的内容
    我为什么非要继承那些接口呢~?就比如说
    class testest extends WindowAdapter这个类~!
    我非要继承了他才能实现事件处理吗?
    为什么非要用它固定的 public void windowClosing(WindowEvent e)空方法啊~?
      

  6.   

    jinqiao0078(求学者) 说的对
    这是上溯造型的一个例子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
      

  7.   

    jinqiao0078(求学者) 说的对
    这是上溯造型的一个例子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
      

  8.   

    就像写C的程序的main函数一样,这是必须的.windows也有个winmain,也要你建立一个消息队列,然后,你再对消息写switch语句.java分得更细了,他已经封装了消息,而且已经做好了switch(或者是相似的东西),然后调用固定的函数.
    希望我没有说错.嘿嘿嘿嘿
      

  9.   

    终于五个三角了,我要暂离CSDN了,向楼主道个别。我的QQ被盗了,请注意。新的暂时还没有。886