相同点:
1、都不能被实例化
2、接口的实现或抽象类的子类需要实现接口或抽象类中相应的方法才能被实例化
不同点:
1、接口只能定义方法,不能有方法的实现;而抽象类可以有方法定义与实现
2、实现接口的关键字implements,基础抽象类的关键字extends。一个类可以实现多个接口,只能继承一个抽象类。
3、当子类和父类之间存在逻辑上的层次结构,推荐使用抽象类,有利于功能的积累。当功能不需要,希望支持差别较大的两个或更多对象间的特定交互,推荐使用接口。使用接口能降低系统的耦合度,便于日后维护。