抽象类与接口的关系
区别点 | 抽象类 | 接口 |
---|---|---|
定义 | 包含一个抽象方法的类 | 抽象方法和全局常量的集合 |
组成 | 构造方法,抽象方法,普通方法,常量,变量 | 常量,抽象方法 |
使用 | 子类继承抽象类 | 子类实现接口 |
关系 | 抽象可以实现多接口 | 接口不能继承抽象类,但允许继承多接口 |
常见设计模式 | 模板设计 | 工厂设计,代理设计 |
对象 | 都通过对象的多态性产生实例化对象 | |
局限 | 抽象类有单继承局限 | 接口没有 |
实际 | 作为一个模板 | 是作为一个标准或表示一种能力 |
选择 | 如果抽象类和接口都可以使用的话,先使用接口,因为避免单继承的局限 |