区别 | 抽象类 | 接口 |
定义关键字 | abstract class | interface |
组成 | 常量、变量、抽象方法、普通方法、构造方法 | 全局常量、抽象方法 |
权限 | 可以使用各种权限 | 接口不能继承抽象类,却可以继承多个接口 |
使用 | 子类使用extends继承抽象类 | 子类使用implements实现接口 |
抽象类和接口的对象都是利用对象多态性的向上转型,进行接口或抽象类的实例化操作 | ||
设计模式 | 模板设计模式 | 工厂设计模式、代理设计模式 |
局限 | 一个子类只能够继承一个抽象类 | 一个子类可以实现多个接口 |
区别 | 抽象类 | 接口 |
定义关键字 | abstract class | interface |
组成 | 常量、变量、抽象方法、普通方法、构造方法 | 全局常量、抽象方法 |
权限 | 可以使用各种权限 | 接口不能继承抽象类,却可以继承多个接口 |
使用 | 子类使用extends继承抽象类 | 子类使用implements实现接口 |
抽象类和接口的对象都是利用对象多态性的向上转型,进行接口或抽象类的实例化操作 | ||
设计模式 | 模板设计模式 | 工厂设计模式、代理设计模式 |
局限 | 一个子类只能够继承一个抽象类 | 一个子类可以实现多个接口 |