天天看点

Java面向对象的三大特征封装继承多态

面向对象的三大基本特征是:封装、继承、多态。

封装

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息封装。

封装的优点
  • 将变化隔离
  • 提高重用性
  • 提高安全性
  • 便于使用
封装的缺点
  • 将变量等使用private修饰,或者封装进方法内,使其不能被直接访问,增加了访问步骤与难度。

继承

        继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

  • 通过继承创建的新类被称为"子类"或"派生类"。
  • 被继承的类称为"父类"或"超类"。
  • 继承的过程,就是一般到特殊的过程。
  • 要实现继承,可以通过"继承"和"组合”来实现。
  • 在Java中,一个类只能单继承,可以实现多个接口。继承继承就是子类继承父类的特征和行为,使得子类对象具有父类的非private属性和方法。
继承的优点
  • 减少代码重复、臃肿,提高代码可维护性和重用性。
继承的特性
  • 子类可以拥有父类非private的属性和方法;
  • 子类可以拥有完全属于自己的属性和方法(对父类进行扩展);
  • Java是单继承(一个子类只能继承一个父类);但是Java可以是多重继承(如A继承B,B继承C)。
  • Super关键字:可以通过super关键字来实现子类对父类成员的访问,引用当前实例对象的父类。
  • This关键字:指向实例对象自己的引用。

多态

        多态是指同一个接口,使用不同的实现,而执行不同的操作。

多态的三个必要条件:
  • 继承(extends)
  • 重写(子类重写父类的同名方法)
  • 父类引用指向子类的对象,如:

    子类继承父类,重写父类的方法,当子类对象调用重写的方法时,调用的是子类的方法,而不是父类的方法,当想要调用父类中被重写的方法时,则需使用关键字super。

参考资料

https://www.fangzhipeng.com/