如果定义的类是基类,同时有被子类继承的保护(protected)变量,就应当用abstract。如果基类只定义方法,没有变量,就用interface。如果必须在abstract和interface之间作一选择,应当尽量用interface。

解决方案 »

  1.   

    abstract类可以继承类,而interface不能继承类的
      

  2.   

    abstract就是提供一些函数的接口,来让你继承。
    而interface提供一些函数的接口,来让你实现。后者是java里面实现类似C++的多继承的关键。
    一个类可实现多个接口!
      

  3.   

    看完这篇文章你就会详细了解了:
    http://expert.csdn.net/Expert/topic/1158/1158438.xml?temp=.4482386