抽象类和接口的区别
相同:
都是不断抽象出来的抽象概念。
不同:
语法层面: 1、抽象类使用关键字 abstract,子类通过extends来继承;接口使用关键字interface,实现类通过implements来实现。 2、抽象类可以有具体的实现;而接口没有具体的实现,在JDK1.8中可以定义default方法体。 3、一个类只能继承一个抽象方法,但是可以实现多个接口。 4、抽象类中的成员变量可以是各种类型的,而接口只能是public statis final。 5、抽象类中的成员方法可以是各种类型的,而接口只能是public abstract; 6、抽象类中可以有静态方法和静态代码块,接口不能。 7、抽象类可以有构造方法;接口没有构造方法。 设计层面: 1、抽象类是对对象的抽象,是一种模板设计;接口是一种规范,是对行为的抽象。 2、抽象类强调所属关系;而接口强调特定功能的实现。

浙公网安备 33010602011771号