抽象类和接口的相同点和不同点有什么?【详细解释】

今天爱分享给大家带来抽象类和接口的相同点和不同点有什么?【详细解释】,希望能够帮助到大家。
抽象类是用来捕捉子类的通用特性的。接口是抽象方法的集合。

从设计层面来说,抽象类是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。

相同点

接口和抽象类都不能实例化
都位于继承的顶端,用于被其他实现或继承
都包含抽象方法,其子类都必须覆写这些抽象方法
不同点

备注:Java8中接口中引入默认方法和静态方法,以此来减少抽象类和接口之间的差异。

现在,我们可以为接口提供默认实现的方法了,并且不用强制子类来实现它。

接口和抽象类各有优缺点,在接口和抽象类的选择上,必须遵守这样一个原则:

行为模型应该总是通过接口而不是抽象类定义,所以通常是优先选用接口,尽量少用抽象类。
选择抽象类的时候通常是如下情况:需要定义子类的行为,又要为子类提供通用的功能。

人已赞赏
Java

面向对象五大基本原则是什么?【详细解释】

2020-11-25 16:09:23

Java

普通类和抽象类有哪些区别?【详细解释】

2020-11-25 16:19:29

'); })();