抽象类和接口的区别

抽象类和接口的区别:
语法层面上:
1.抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract方法;
2.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
3.接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
4.一个类只能继承一个抽象类,而一个类可以实现多个接口。
设计层面上的区别
1.抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。
2.设计层面不同,抽象类作为很多子类的父类,它是一种模版式设计。而接口是一种行为规范,它是一种辐射式设计。

原文地址:https://www.cnblogs.com/benniaoxuefei/p/5493176.html