为什么用父类引用指向子类对象

  • List是一个接口,继承于Collection类,而ArrayList是接口的一个实现类。
  • ArrayList h = new ArrayList();

多态:通用,易扩展

里氏代换原则:所有引用基类对象的地方能够透明地使用其子类的对象

  • 因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。

优点:

  • 面向接口编程,可以降低程序的耦合性,即调用者不必关心调用的是哪个对象,只需要针对接口编程就可以了,被调用者对于调用者是完全透明的。
  • 让你更关注父类能做什么,而不去关心子类是具体怎么做的,你可以随时替换一个子类,也就是随时替换一个具体实现,而不用修改其他。

你可能感兴趣的:(为什么用父类引用指向子类对象)