抽象类和接口的对比

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

相同点:

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

不同点:

类型 抽象类 接口
定义 abstract class Interface
实现 extends(需要提供抽象类中所有声明的方法的实现) implements(需要提供接口中所有声明的方法的实现)
继承 抽象类可以继承一个类和实现多个接口;子类只可以继承一个抽象类 接口只可以继承接口(一个或多个);子类可以实现多个接口
访问修饰符 抽象方法可以有public、protected和default这些修饰符 接口方法默认修饰符是public。你不可以使用其它修饰符
构造器 抽象类可以有构造器 接口不能有构造器
字段声明 抽象类的字段声明可以是任意的 接口的字段默认都是 static 和 final 的
posted @ 2023-01-30 21:28  不穿衣服去逛街  阅读(12)  评论(0)    收藏  举报