抽象类和接口的区别
2019-12-04 本文已影响0人
Joseph_L
抽象类和接口的区别
相同点
- 不可以实例化对象
- 不可以被 final 修饰
- 都可以作为顶层设计,提供抽象方法给下层
不同点
- 抽象类的关键字是 abstract,接口的关键字是 interface
- 抽象类方法可以有方法体,接口方法不可以有方法体
- 抽象类方法作用域不可以是 private,接口方法强制为 public abstract(不用自己写)
- 抽象类属性作用域随意定义,接口属性默认为静态常量(public final static)
- 单继承但是可以多实现,不同的接口之间可以多继承
- 抽象类可以实现接口,但是接口不能继承抽象类(因为抽象类中可能有非抽象方法)
- 抽象类:is A;接口:has A;