一、概念 相同的行为,不同的实现 二、分类 静态多态 编译期即已知方法的执行效果(使用方法的重载实现)。 动态多态 编译期未知,运行期根据绑定不同的对象有不同的效果。(使用动态绑定和重写实现) 三、转型技术 当操作符两端的数据类型不一致的时候,就会发生转型。 当大的数据往小的空间存放,必须进行强转。(向下转型) 当小的数据往大的空间存放,自行类型转换。(向上转型) 引用数据类型同样存在转型技术:转型的两类必须存在继承关系。 向下转型–强制转型,存在风险,需要谨慎使用。 父类的引用可以指向子类对象; 本类的引用可以指向本类对象。 当父类的引用指向子类对象的时候,只能调用来自于父类的属性和行为; 当本类引用指向本类对象的时候,能够看到本类的所有属性和行为(受访问修饰符控制)。 三、instanceof关键字 用于判断运行时对象的真正类型。 四、动态绑定技术 运行时根据父类引用变量所指向对象的实际类型执行相应的子类方法,从而实现多态性。 注意:父类的引用可以指向子类对象,反过来不行。