抽象类和接口的区别

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