首页 > 图灵资讯 > java面试题>正文
金三银四精选java面试题-接口和抽象类有什么区别?
2023-11-28 10:31:37
接口和抽象类有什么区别?
抽象类和接口是面向对象编程中两种常见的抽象概念,它们有以下几个区别:
1. 定义关键字不同
接口使用关键字 interface 来定义。 抽象类使用关键字 abstract 来定义。
2. 继承或实现的关键字不同
接口使用 implements 关键字定义其具体实现。 抽象类使用 extends 关键字实现继承。
3. 子类扩展的数量不同
- 接口的实现类可以有多个
- 抽象类的子类,只能继承一个抽象类,抽象类的子类,只能继承一个抽象类
在 Java 语言中,一个类只能继承一个父类(单继承),但可以实现多个接口。
4. 属性访问控制符不同,方法控制符不同
- 接口中属性的访问控制符只能是public(接口中的属性默认是 public static final 修饰的)
- 抽象类中的属性访问控制符无限制,可为任意控制符。