首页 > 文章列表 > java抽象类和接口有什么区别

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

java
117 2023-05-01

区别

1、抽象类和子类是is的关系,接口是like的关系,抽象类的耦合度高,具有更好的再利用性和维护性,接口相反。

2、抽象只能单独继承,接口和子类可以实现多个。

抽象可以有非常量的成员变量,接口只能有常量的成员变量,接口1.8后有默认方法,抽象有成员方法。

实例

门和警报的例子:门都有open( )和close( )两个动作,此时我们可以定义通过抽象类和接口来定义这个抽象概念:

abstract class Door {
 
    public abstract void open();
 
    public abstract void close();
 
}