混淆

抽象类与接口

两者区别(1)Java 单继承、多实现。   一个类只能继承一个抽象类或者其他类,但是可以实现多个接口。

    (2)出发点不同抽象类关注的是密切的对象之间的关系,如,车,不管哪种车都是必须存在加速、减速、等共通的功能;接口关注的更多的是类之间的关系,如,动物与人这两个类,都是具有,吃、喝、拉等共通的功能。 接口更多的是期望,约束,一个类实现了这个接口就必须实现其中所有的方法,至于结果可能会不一。继承了一个抽象类,必须实现其中的abstract方法,但是可以不去实现其中的费abstract方法。

    (3)抽象类中不一定都是抽象方法,接口中全是抽象方法。

    (4)接口中如果有成员必须是 static final (默认是public static final ),抽象类(记住是类)有自己的成员

项目中作用:

abstract class表示的是"is-a"关系,interface表示的是"like-a"关系

原文地址:https://www.cnblogs.com/qisel/p/4548829.html