java接口与抽象类

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