abstract class 和 interface区别

原创转载请注明出处:http://agilestyle.iteye.com/blog/2392437

抽象类

  • 有抽象方法和常量、变量、全局常量、构造方法、普通方法组成
  • 使用abstract声明
  • 子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法
  • 存在单继承局限,一个子类只能继承一个抽象类
  • 抽象类可以实现若干个接口

接口

  • 全部由抽象方法和全局常量组成
  • 使用interface声明
  • 子类通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法
  • 不存在单继承局限,一个子类可以同时实现多个接口
  • 接口不能继承一个抽象类,但是允许继承多个接口

猜你喜欢

转载自agilestyle.iteye.com/blog/2392437
今日推荐