-
Notifications
You must be signed in to change notification settings - Fork 1.3k
抽象类和接口的区别是什么
cxuan edited this page Jun 15, 2020
·
1 revision
抽象类和接口都是 Java 中的关键字,抽象类和接口中都允许进行方法的定义,而不用具体的方法实现。抽象类和接口都允许被继承,它们广泛的应用于 JDK 和框架的源码中,来实现多态和不同的设计模式。
不同点在于
-
抽象级别不同
:类、抽象类、接口其实是三种不同的抽象级别,抽象程度依次是 接口 > 抽象类 > 类。在接口中,只允许进行方法的定义,不允许有方法的实现,抽象类中可以进行方法的定义和实现;而类中只允许进行方法的实现,我说的方法的定义是不允许在方法后面出现{}
-
使用的关键字不同
:类使用class
来表示;抽象类使用abstract class
来表示;接口使用interface
来表示 -
变量
:接口中定义的变量只能是公共的静态常量,抽象类中的变量是普通变量。