区别 抽象类 接口
定义 包含一个抽象方法 抽象方法和全局常量的集合
组成 构造方法、抽象方法、 常量、抽象方法
普通方法、常量、变量
使用 子类继承抽象类(extends) 子类实现接口(implements)
关系 抽象类可以实现多个接口 接口不能继承抽象类,但可以实现多个接口
常见设计模式 模板设计模式 工厂设计、代理设计
对象 都是通过对象的多态性产生实例化对象
局限 抽象类有单继承的局限 接口没有此局限
实际 作为一个模板 作为一个标准或表示一种能力
选择 如果抽象类和接口都可以使用,则优先使用接口,避免单继承的局限
特殊 一个抽象类中可以包含多个接口,一个接口中可以包含多个抽象类
总结:一个类不要去继承一个已经实现好的类,只能继承抽象类或实现接口,如果接口和抽象类都可以使用,那么优先使用接口
,避免单继承的局限
|