当然可以不用了,abstract的class已经告诉所有人,他有方法没有实现

解决方案 »

  1.   

    但是在程序中调试一直不能通过,提示“it does not define logout()”;比较奇怪。
      

  2.   

    abstract class login 要实现logout方法啊
      

  3.   

    哦,知道了,原来interface是强制实现所有方法,有个问题就是能不能不实现呢?比如一个接口里有很多的方法,作为implements他的类能不能只实现其中的一部分,这样难道不是更灵活,通过不同类implements,gen更好的进行扩展。java采取这种设计方式的目的是什么?
      

  4.   

    ahtu(阿土) 说得对,class login必须实现action接口的所有方法,包括logout(),而Mlogin extends login,既然是继承一个类,就只要重写父类你需要重写的方法就可以了
      

  5.   

    接口最终都必须被实现。接口的意思就是告诉别人,它可以做哪些事,凡是接口中声明的,它都可以做到。当你把它交给别人的时候,人家就可以不受限制地使用其中的任何方法。接口还有一个特点,都是public的,也是这个原因。有这么种东西,称之为Adapter, 就是自己是个implements 某一个 interface的class, 吧接口中所有的方法都用默认的空的方法,你只要继承它,并只改写其中你需要的接口方法,而不是全部。但归根结底,所有的方法都是实现了的
      

  6.   

    如果login class不实现logout方法,那么login class必须是abstract的,也就是说login不能被继承,如果你想让login class被继承,那么login class 不能是abstract的,也就是说你必须实现logout方法,看你的需要了