类和接口的关系、抽象类和接口的区别

一、类和接口之间的关系
(1)类和类之间的关系
继承关系,只能单继承,但是可以多层继承。
(2)类和接口的关系
实现关系,可以单实现,还可以在继承一个类的同时实现多接口。
在这里插入图片描述
(3)接口和接口之间的关系
继承关系,可以单继承,也可以多继承。
在这里插入图片描述
二、抽象类和接口的区别
(1)成员区别
抽象类:变量、常量,有构造方法;有抽象方法,也有非抽象方法。
接口:常量,抽象方法。
(2)关系区别
类与类:继承,单继承
类与接口:实现,可以单实现,也可以多实现。
接口和接口:继承,单继承,多继承。
(3)设计理念的区别
抽象类:对类抽象,包括属性、行为。
接口:对行为抽象,主要是行为。
三、抽象类和接口举例
门和按门铃,有的门只有开和关,没有按门铃,这是我们可以创建一个门的抽象类,有开和关的抽象方法,然后再写一个按门铃的接口,对于可以开和关并且可以按门铃的门只要继承抽象类实现接口即可,如下所示。
在这里插入图片描述
这里。我们也可以感受到,抽象类是对事务的抽象,而接口是对行为的抽象