面试题思考:Java中接口(interface)和抽象(abstract)类的区别

1

接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法

2 **

类可以实现很多个接口,但是只能继承一个抽象类
一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现否则该类仍然需要被声明为抽象类

3

抽象类可以在不提供接口方法实现的情况下实现接口。

4

Java 接口中声明的变量默认都是final的。抽象类可以包含非final的变量。

5

Java 接口中的成员函数默认是 public 的。抽象类的成员函数可以是 private,protected 或者是 public

6

接口是绝对抽象的,不可以被实例化抽象也不可以被实例化但是,如果它包含main方法的话是可以被调用的。(抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用)

7 **

接口可以继承接口抽象类可以实现(implements)接口抽象类可继承具体类,但前提是具体类必须有明确的构造函数

8 **

有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法

9 ***

接口可以继承接口,而且支持多重继承抽象类可以实现(implements)接口,抽象类可继承具体类也可以继承抽象类

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页