在java中,接口定义为抽象的,有什么好处,与不定义成抽象的有什么区别?

解决方案 »

  1.   

    写的挺好。
    http://kb.cnblogs.com/page/42159/
      

  2.   

    1.接口可以多重继承   ,抽象类不可以   
    2.接口定义方法,不给实现;而抽象类可以实现部分方法 
    3.接口中基本数据类型的数据成员,都默认为static和final,抽象类则不是 
    如果事先知道某种东西会成为基础类, 
    那么第一个选择就是把它变成一个接口。 
    只有在必须使用方法定义或者成员变量的时候,才应考虑采用抽象类。使用抽象类能够更好的复用abstract   class   ------   is-a 
    interface             ------   like-a 
      

  3.   

    没有什么好处,在编译器看来都是一样的,即 abstract interface = interface,这个问题有过讨论,你可以翻翻以前的帖子
      

  4.   

    interface默认就是abstract的,写与不写abstract没有任何区别