抽象类和接口的区别

定义:
抽象类:包含一个抽象方法的类叫做抽象类。
接口:抽象方法和全局常量的集合。
组成:
抽象类:普通方法和抽象方法。
接口:常量和抽象方法。
使用:
抽象类:extends
接口:implements
关系:
抽象类可以实现多个接口;接口不能继承抽象类,但是可以实现多个接口。
常见的设计模式:
抽象类:模板设计模式
接口:工厂设计 , 代理设计
对象:
都通过对象的多态性产生实例化对象。
局限:
抽象类有单继承的局限,接口没有。
实际:
抽象类可以看作一个模板,而接口是作为一个标准或表示一种能力。
选择:
如果抽象类和接口都可以使用的话,优先使用接口避免单继承的限制。
特殊:
一个抽象类可以包含多个接口,一个接口也可以有多个抽象类。

你可能感兴趣的:(抽象类和接口)