世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。 ——摘自周志明

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

1、语法方面

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

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

2、思想上:

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

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

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

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

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

posted @ 2019-04-20 22:25  白杯与咖啡  阅读(2026)  评论(0编辑  收藏  举报