扫码关注微信公众号

回复“面试手册”,获取本站PDF版

回复“简历”,获取高质量简历模板

回复“加群”,加入程序员交流群

回复“电子书”,获取程序员类电子书

当前位置: Java > Java基础高频面试题 > 26. Java中抽象类和接口的对比

在Java语言中,abstract classinterface是支持抽象类定义的两种机制。抽象类:用来捕捉子类的通用特性的。接口:抽象方法的集合。

相同点:

  • 接口和抽象类都不能实例化
  • 都包含抽象方法,其子类都必须覆写这些抽象方法

不同点:

类型抽象类接口
定义abstract classInterface
实现extends(需要提供抽象类中所有声明的方法的实现)implements(需要提供接口中所有声明的方法的实现)
继承抽象类可以继承一个类和实现多个接口;子类只可以继承一个抽象类接口只可以继承接口(一个或多个);子类可以实现多个接口
访问修饰符抽象方法可以有public、protected和default这些修饰符接口方法默认修饰符是public。你不可以使用其它修饰符
构造器抽象类可以有构造器接口不能有构造器
字段声明抽象类的字段声明可以是任意的接口的字段默认都是 static 和 final 的

点击面试手册,获取本站面试手册PDF完整版