抽象类和接口的区别?
1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法,接口中所有方法默认为public abstract;
2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
3)接口中不能含有静态代码块,而抽象类可以有静态代码块和静态方法;
4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。
5)抽象类是对一种事物,即对类的抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。
6)设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计;而接口是一种行为规范。