当前位置 : 主页 > 编程语言 > java >

接口和抽象类是什么 ,说说他们的区别

来源:互联网 收集:自由互联 发布时间:2023-09-03
java基础八股 接口是一种完全抽象的类,它只包含方法的声明而没有实现。接口主要是对类的行为进行约束,实现了某个接口就具有了对应的行为。 抽象类是一种半抽象的类,他可以包

java基础八股

接口是一种完全抽象的类,它只包含方法的声明而没有实现。接口主要是对类的行为进行约束,实现了某个接口就具有了对应的行为。

抽象类是一种半抽象的类,他可以包含方法的声明和部分实现。抽象类是作为其他类的基类,提供一些通用的方法实现,并允许子类进行扩展和重写。抽象类可以定义抽象方法和具体方法,抽象方法需要子类去实现。

区别:

方法实现:接口中的方法只有声明,没有方法体;抽象类的方法可以包含具体的代码实现。

继承关系:一个类可以实现(implements)多个接口;但是只能继承(extends)一个抽象类。

构造函数:接口不能有构造函数;抽象类可以有构造函数

变量定义:接口中的成员变量只能是 public static final类型的,不能被修改且必须有初始值;抽象类的成员变量默认为default,可以在子类中被重新定义,也可以被重新赋值。

追问:接口可以实现其它接口吗?

接口可以继承其他接口,一个接口可以通过extends关键字来继承其他接口

网友评论