相同点:
  都只能用来被子类继承(或实现),自己不能实例化,只是用来声名对外提供的功能。
不同点:
  1、子类可以实现多个接口,但不能继承多个抽象类;
  2、抽象类可以实现一些方法,接口不能实现任何方法;具体什么时候用接口或抽象类,要看具体的需要,结合两者的不同点来决定。

解决方案 »

  1.   

    接口中的所有方法只有声明,没有定义,其实是一个很特殊的类
    一个类中只要有一个方法只有声明没有定义,就是抽象类
      

  2.   

    抽象类是指包括有抽象方法的类接口是抽象类的极端情形,就是该类中所有的方法都是抽象的
      

  3.   

    抽象类和接口都能被类继承或实现,同时类可以同时实现多个接口,但只能继承一个类或抽象类。抽象类和接口都是特殊的类不能被实例化。接口当中只声明了一些方法,一旦类要实现这个接口,就必须先实现接口中的所有方法。抽象类当中能有自己的成员,并定义了抽象方法,可以提高代码的重用率。