扫码关注微信公众号
回复“面试手册”,获取本站PDF版
回复“简历”,获取高质量简历模板
回复“加群”,加入程序员交流群
回复“电子书”,获取程序员类电子书
在Java语言中,abstract class
和interface
是支持抽象类定义的两种机制。抽象类:用来捕捉子类的通用特性的。接口:抽象方法的集合。
相同点:
- 接口和抽象类都不能实例化
- 都包含抽象方法,其子类都必须覆写这些抽象方法
不同点:
类型 | 抽象类 | 接口 |
---|---|---|
定义 | abstract class | Interface |
实现 | extends(需要提供抽象类中所有声明的方法的实现) | implements(需要提供接口中所有声明的方法的实现) |
继承 | 抽象类可以继承一个类和实现多个接口;子类只可以继承一个抽象类 | 接口只可以继承接口(一个或多个);子类可以实现多个接口 |
访问修饰符 | 抽象方法可以有public、protected和default这些修饰符 | 接口方法默认修饰符是public。你不可以使用其它修饰符 |
构造器 | 抽象类可以有构造器 | 接口不能有构造器 |
字段声明 | 抽象类的字段声明可以是任意的 | 接口的字段默认都是 static 和 final 的 |
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版