接口和抽象类有什么区别?各在什么场景下使用?

1、语法方面

  (1)接口可以多实现,抽象类只能单继承。

  (2)接口里的成员变量,不能更改的,因为修饰符是:public static final;方法默认public abstract修饰的

2、思想上:

(1)接口强调功能实现,abstract class强调所属关系。

(2)接口中是全局的静态的常量,所以接口用于定义标准、行为规范等;是对事务的属性和行为的更高层次的抽象。

(3)接口是为了统一管理,没有继承关系的各种类的对象,但是它们存在相同的行为方法。我们把这些行为方法抽象到接口中。

(4)接口是对修改关闭,对扩展开放的,是开闭原则的一种体现。

(5)有时功能需要接口隔离。

原文地址:https://www.cnblogs.com/xingrui/p/10743033.html