抽象类和接口的区别

  • 从概念上来讲,抽象类是对根源的抽象,接口是对动作的抽象
  • 定义抽象类的关键字是abstract,定义接口的关键字是interface
  • 一个类只能继承一个抽象类(关键字:extends),但是能继承多个接口(implements)。比如人不可以同时继承生物类和非生物类,但可以同时继承吃饭和走路这两个动作接口
  • 抽象类中可以有方法声明也可以有方法实现,但接口只能做方法声明。
  • 抽象类可以有具体的方法和属性,接口只能是抽象方法(必须是公共方法)和常量
  • 抽象类里的抽象方法必须被子类实现,如果子类不能全部实现抽象方法,该子类只能是抽象类,同样如不能实现全部接口,该类只能是抽象类
posted @ 2017-09-08 10:58  自由灬飞翔丨  阅读(223)  评论(0编辑  收藏  举报