1.多态指子类的父类引用由于向上转型了,它只能访问父类中拥有的方法和属性,而对于子类中存在而父类中不存在的方法,该引用时不能使用的,景观是重载该方法。若子类重写了父类中的某些方法,在调用该方法的时候,必定是使用了子类中定义的这些方法(动态链接、动态调用)。
2.多态的实现:三个必要条件(继承、重写、向上转型)
一般做法是:写一个方法,它只接收父类作为参数,编写的代码只与父类打交道。调用这个方法时,实例化不同的子类对象(new 一个对象)。
(1)子类重写父类的方法。使子类具有不同的方法实现。
(2)把父类类型作为参数类型,该父类及其子类对象作为参数转入。
(3)运行时,根据实际创建的对象类型动态决定使用那个方法。
(4)有两种方式实现:
1:覆盖-接口
2:重载