Loading

抽象类与接口的区别

No. 区别  抽象类 接口
1 关键字 abstract class interface
2 组成 构造方法,普通方法,抽象方法,static方法,常量,变量 全局静态常量,抽象方法
3 子类使用 class 子类 extends 抽象类 class 子类 implements 接口1,接口2...
4 关系 抽象类可以实现多个接口 接口不能继承抽象类,却可以集成多个父接口
5 权限 可以使用各种权限 只能使用public权限
6 限制 单继承局限 没有单继承局限
7 子类 抽象类和接口都必须有子类,子类必须要重写全部的抽象方法  
8 实例化对象 依靠子类对象的向上转型进行实例化对象  

抽象类中支持的功能比接口多!

但只有一个缺点:单继承局限! 这一个缺点就掩盖了抽象类所有优点!

  即:当抽象类和接口都可以使用的时候,优先考虑接口!

一个不成文的参考:

  1.在进行公共操作的时候一定要定义接口!

  2.有了接口就需要利用子类完善方法!

  3.如果是自己写的接口,那么绝对不要使用关键字new直接实例化接口子类,利用工厂类完成!

 

posted @ 2017-08-23 15:41  yanbubao  阅读(138)  评论(0编辑  收藏  举报