面向对象特性的三大基本特性:

  • 继承:加强代码的复用;
  • 封装:控制对类的访问;
  • 多态:同类型对象执行同样的方法表现却不一样。

继承:

继承概念:

子类可以直接或者间接拥有父类的 属性 和 方法。

封装:

封装概念:

将对象的实现细节隐藏起来,然后通过一些 公开的 方法来暴露该对象的功能。

多态:

多态概念:

子类对象 可以直接赋值给 父类变量,运行时依然表现出 子类的行为特征。


接口和抽象类的区别:

设计目的的区别:
  • 接口体现的是一种规范,抽象类仍然是一种模板类的设计;
  • 接口规定了实现者需要向外提供哪些方法,抽象类像是一个中间产品,它只实现了系统部分功能。

    使用方法的区别:
  • 接口中不能实现方法,抽象类没有限制;

  • 接口中只有 静态常量 属性,抽象类没有限制;
  • 接口没有构造器,抽象类没有限制(但抽象类的构造器并不用于创建对象,而是方便子类调用后能完成类的初始化);
  • 一个类可以实现多个接口,接口之间用,隔开,类只能继承一个类。