一、区别:
1、抽象类是半抽象的----里面的方法可以是抽象方法,也可以是实例方法,
接口是完全抽象的----里面的方法只有抽象方法
但抽象方法不可以放在一般类中,抽象方法一定放在抽象类或接口中
2、抽象类有构造方法----抽象类是被继承的,构造方法供子类执行构造方法时调用,
子类执行构造方法前必须执行父类构造方法
接口没有构造方法----接口时被实现的,里面只有常量和抽象方法
3、类与类之间只支持单继承(extends)---public abstract class类名{} 抽象类,还是类,
接口与接口,类与接口之间支持多继承(implements)--- interface 接口名{} 接口不是类,但可以看作类
4、一个抽象类本质是类,可以被非抽象类继承,也可以被抽象类继承
被非抽象类继承----必须将抽象类中的方法都实现了
被抽象类继承------可以实现其中部分方法,可以根据需要具体实现一些方法
一个接口不可以实现其他的接口,被实现时只能实现它的全部方法
二、共同点
都是提高扩展性