当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-接口和抽象类有什么区别?

金三银四精选java面试题-接口和抽象类有什么区别?

来源:图灵教育
时间:2023-11-28 10:31:37
 

接口和抽象类有什么区别?

抽象类和接口是面向对象编程中两种常见的抽象概念,它们有以下几个区别:

1. 定义关键字不同

接口使用关键字 interface 来定义。 抽象类使用关键字 abstract 来定义。

2. 继承或实现的关键字不同

接口使用 implements 关键字定义其具体实现。 抽象类使用 extends 关键字实现继承。

3. 子类扩展的数量不同

  • 接口的实现类可以有多个

  • 抽象类的子类,只能继承一个抽象类,抽象类的子类,只能继承一个抽象类

在 Java 语言中,一个类只能继承一个父类(单继承),但可以实现多个接口。

4. 属性访问控制符不同,方法控制符不同

  • 接口中属性的访问控制符只能是public(接口中的属性默认是 public static final 修饰的)

  • 抽象类中的属性访问控制符无限制,可为任意控制符。