接口和抽象类的区别是什么

参考答案

接口和抽象类的区别,主要有五个:

1.  构造方法

  • 抽象类可以有构造方法。
  • 接口中不能有构造方法。

2.  普通成员变量

  • 抽象类中可以有普通成员变量。
  • 接口中没有普通成员变量。

3.  非抽象普通方法

  • 抽象类中可以包含非抽象普通方法。
  • JDK1.8 以前接口中的所有方法默认都是抽象的,JDK1.8 开始方法可以有 default 实现和 static 方法。

4.  访问权限

  • 抽象类中的抽象方法的访问权限可以是 public、protected 和 default。
  • 接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。

5.  静态方法

  • 抽象类中可以包含静态方法。
  • JDK1.8 前接口中不能包含静态方法,JDK1.8 及以后可以包含已实现的静态方法。

 

以上,是Java面试题【接口和抽象类的区别是什么】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧