首页 > 图灵资讯 > java面试题>正文

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

2023-11-28 10:31:37

 

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

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

1. 定义关键字不同

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

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

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

3. 子类扩展的数量不同

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

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

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

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

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

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


 
上一篇 金三银四精选java面试题-String str = "i" 与 String str = new String("i") 一样吗?
下一篇 金三银四精选java面试题-什么是浅拷贝和深拷贝?

文章素材均来源于网络,如有侵权,请联系管理员删除。