尤其是mouseListener接口
好多方法
很多时候不是这些方法都要用到.
虽然说可以用mouseAdapter
但,既然不用还有什么存在的价值!!

解决方案 »

  1.   

    呵呵 可mouseAdapter就是实现了mouseListener接口
    你的论断不成立了 
      

  2.   

    interface A{ void name();void display();}
    class B implements A{
    public void name(){} 
    }class C{
      .................main(),,,{
        A a=new B();
        a.display();//想想这里将会出现什么就明白了
      }
    }
      

  3.   


    interface A{ void name();void display();}
    class B implements A{
    public void name(){}
    }class C{
      .................main(),,,{
        A a=new B();
        a.display();//想想这里将会出现什么就明白了
      }
    }

    类B为何没有实现display()方法?这时的a.display()什么都显示不了。
      

  4.   

    这个能通过编译吗?  没有实现display方法啊 
      

  5.   

    楼主的考虑非常好! 比那些固守陈规的思想要好, 了解一下Duck Typing了.
    Java这辈子算是完了... ...
      

  6.   

    我个人的理解是接口更像一个标准,它规定某对象应该有哪些方法,你可能用到这几个,我可能用到另外几个。JDK为我们提供了一个默认实现类,是为了让我们更多地去关注我们要用到的方法。
      

  7.   

    恩,我也觉得太烦了。也许可以这样想:你买一台品牌机,你不能只要它的CPU或者显卡,你要买他的全套。而接口的话,也是个品牌机,你光买(实现)我的一个CPU不行,你还要买我的别的这个一套里东西。
      

  8.   

    接口要考虑通用性.
    如果把一个MouseListener的内容分成几个接口来写,你每次需要处理不同的时间时就实现不同的接口,带来的问题更大.
      

  9.   

    首先,“接口中定义的方法必需全部实现,不能留空”,这个是 Java 语言定义的,这样定义有它的好处。但这只是 Java 设计者的一个选择而已,并不是“一定如此”,比如 COM(ActiveX)就可以在实现一个 Interface 的时候把某个方法实现成 NOT_IMPLEMENTED。但既然 Java 已经设计成这样了,你写程序时就必须遵守 :)再说 mouseListener,它是在一个 Interface 里定义了各种事件方法。其实如果由你来重新设计这个东西的话,可以有两个选择,一个是设计成现在这个样子,一个是为每个鼠标事件定义一个单独的 Interface。稍微想一想就可以知道,这两种设计是各有利弊的。但可能更多的人会倾向于现在 mouseListener 的设计,因为毕竟可以通过 mouseAdapter 来弥补“不是这些方法都要用到”时的不便;而如果设计成另一个极端的话,当需要同时响应多个鼠标事件的时候,就没有什么好的设计模式能帮到你了,势必会产生过多的 class。最后,“既然不用还有什么存在的价值”,这个不能这么说。所谓“不用”,只是你这一次只用到了某个事件方法;等下一次,你在另一个场合下要处理鼠标事件的时候,可能就需要同时响应多个事件了。mouseListener 这个 Interface 的设计要考虑到不同的应用场景。
      

  10.   

    你即使要实现某一个接口肯定你是想用它的某个或某些方法.至于其它的方法你现在的功能要求上虽然用不着,但SUN还是把一些相关的方法提供出来,你可以不用即不重写它的方法体.它提供的那么多方法不是必须全用的,是要根据不用的要求来实现的.它只是提供了一些常用的相关的方法,还有些针对你现在的需求没有的方法你得自己写.SUN这样作还可以提醒你我还有某某方法等.
      

  11.   

    接口是标准.就像法律:难道不杀人,只打劫就不犯法了?mouseAdapter
      

  12.   

    新手就是对java-api不熟悉,有空多查API去吧
      

  13.   

    接口可以实现Java不能多重继承的好东西        
     觉得还是不错的