java接口与抽象类
2023-03-08 09:35:34
```
相同点:
接口和抽象类都不能被直接实例化
接口和抽象类都可以包含抽象方法
不同点:
接口中只能定义静态常量;抽象类中可以定义普通成员变量
接口中只能定义抽象方法,java8中可以定义静态方法和默认方法,Java9中可以定义私有方法;抽象类中可以定义普通方法
接口中不能包含构造方法以及初始化块;抽象类中可以包含构造方法以及初始化块
一个类只能继承自一个直接父类,包括抽象类,使用extends关键字;一个类可以实现多个接口,使用implements关键字,多个接口之间用逗号隔开,这就是单继承多实现。当两者同时出现时,extends要写在implements前面。接口是可以多继承其他接口的。
```