你首先要明白你所说的‘父类的引用可以指向子类的对象‘ 有什么好处。
好处就是可以解耦合,比如你需要一个List类,你可以这样实例化ArrayList list = new ArrayList();
也可以List list = new ArrayList();
那么现在的问题来了 现在的需求是ArrayList已经无法满足你的要求了,你需要换成LinkedList,如果按照第一种写法那么你需要做的工作可能比较多了,除了修改list的类型,还要考虑的是你换成LinkedList的时候,你之前用ArrayList所调用的方法LinkedList是没有的,这倒也及加多了你的工作量。
如果你按第二种方式来实现,那么你只需将List list = new LinkedList()即可,你无须在担心之前所调用的方法
。 当然现在更好的做法,是把List list;通过spring来修改的,这样的话就完全不需要改变代码了,也就符合设计原则的几大思想了。楼主在认真想想,应该就能理解的了。
当然多态并不只有你这种情况哦,同样的方法名,参数不同也为多态。。