抽象类和接口的比较

接口和抽象类是非常相似的,但是他们之间是有区别的,主要区别一下几个方面:
1、一个类可以实现众多个接口,但是只能继承一个抽象类,可以说接口是取消程序语言中的多继承机制的一个衍生物,但是不完全如此
2、抽象类可以有非抽象方法,既可以有已经实现的方法,继承他的子类可以对方法进行覆写;而接口中定义的饿方法必须全部为抽象方法。
3、在抽象类中定义的方法,他们的修饰符可以是public、protected、private。也可以是默认值;但是接口中定义的方法全是public,并且默认public abstract。
4、抽象类可以有构造函数,接口不能,两者都不能实例化,但是都能通过他们来存放子类对象或实现类的对象,可以说都可以实现多态
5、抽象类可以包含静态方法,而接口中不能包含
6、抽象类可以有普通成员变量,而接口不能有。

猜你喜欢

转载自blog.csdn.net/qq_34288630/article/details/79789353