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

1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始 接口方法可以有默认实现),抽象类可以有非抽象的方法

2. 接口中的实例变量默认是 final 类型的,而抽象类中则不一定

3. 一个类可以实现多个接口,但最多只能实现一个抽象类

4. 一个类实现接口的话要实现接口的所有方法,而抽象类不一定

5. 接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口 的对象 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是 行为的抽象,是一种行为的规范。

 
posted @ 2020-10-30 19:16  java面试站  阅读(131)  评论(0)    收藏  举报