对,你必须重写你接口中的方法,在你使用借口的类中,否则你的类会变成抽象类,无法得到实例,也就无法NEW了。

解决方案 »

  1.   

    是的,除非你的class是abstract的
      

  2.   

    用变压器模式(Adapter),去看看awt里面的Mouse事件的实现。。在MouseListener接口里有n个方法(mouseClicked,mouseEnter,mousePressed等),通过MouseAdapter类的设计,在你自己的监听类里继承MouseAdapter类,假如只要实现mouseClicked,就只实现这个方法,而不用把所有方法都实现一遍。着就是设计模式中的变压器模式。。你的问题可以用这个实现。
      

  3.   

    再问,继承抽象类色时候,抽象类的方法都必须实现吗?
    我不懂得 shine333(shine) 说的“。。除非你的class是abstract的”
      

  4.   

    abstract class ActionPerformedNotWrittenInThisClass implements ActionListener{
       int x;
       public ActionPerformedNotWrittenInThisClass(){
          x=10;
       }
    }上面的class并没有写 public void actionPerformed(ActionEvent e),该方法是
    java.awt.event.ActionListener接口中的方法,所以上面的是抽象类,也就是说该类中有方法是抽象的(只有返回类型 方法名 参数表,而没有方法体)class ActionPerformedWrittenInThisClass extends ActionPerformedNotWrittenInThisClass{
       public void actionPerformed(ActionEvent e){
          x++;
       }
    }