多态:相同的行为,不同的实现。
静态多态
方法的重载和单独使用方法的重写是静态多态的体现,特征是:在编译期,系统就确定调用哪个对象的哪个方法。
动态多态
在编译期系统不知道程序运行的结果,在运行期间根据具体情况,才能确定调用哪个对象的哪个方法。
动态多态使用动态绑定和重写实现。
向上转型技术:绝对成功,没有风险。
当父类引用指向子类对象时,只能看到父类的属性行为,看不到子类特有的属性行为。该引用可以调用呗子类重
写的方法,得到的是子类重写后的效果。
向下转型技术:强制转换,不一定成功,有风险。
使用 instanceof 规避掉强转风险,作用是判断某个引用是否指向某个对象。
将一个方法调用与该方法所在的类关联起来,我们称为“绑定”。