1.概念:
同一个动作用于吧不同的对象产生不同的行为
2.体现方式
1).方法重载 overload
2).方法重写 override
3).对象的多态性:父类的引用指向子类的实例
3.多态可以分为编译时多态和运行时多态
①.编译时多态:静态的,主要指的是方法重载,因为在编译时调用相同的方法通过不同的形参列表来区分。
②.运行时多态:动态的,也称之为动态绑定,主要指的是对象的多态性,
因为只有在运行期间才能确定执行对象的类型,然后再去调用子类对应的方法。
4.对象的多态性:
Person p1=new Man();
1.父类的引用指向的子类的实例
2.在编译时,调用的是父类的方法,在执行时,调用的是子类方法
3.编译时,看左边;运行时,看右边
5.对象多态的三个必要条件:
1).继承:存在子类和父类拥有的继承关系。
2).重写:子类重写父类定义的方法。
3).向上转型(向上类型转化):将子类对象的引用地址交给父类对象