多态:事物的多种体现形态
父类的引用指向了自己的子类的对象。
前提:类与类之间有关系,要么继承或实现。
好处:提高了代码的扩展性
弊端:但是只能使用父类的引用指向子类和父类同样的方法。
类型转换:向上转型 向下转型
instanceof 用于判断对象是属于哪种类型。
多态(父类的引用指向子类对象)在代码中的特点(注意事项):
在多态中非静态成员函数的特点:
在编译时期: 参阅引用型变量所属类中是否有调用的方法。如果有,编译通过,否则编译失败。
在运行时期: 参阅对象所属的类中是否有调用的方法。
简单的总结:成员函数在多态调用时,编译看左边,运行看右边。
在多态中,非静态成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类)
在多态中,静态成员变量/函数的特点:
无论编译和运行,都参照左边。
java对非静态方法的调用是采取动态绑定(运行时才判断)的方法,
对静态成员、属性的调用是采取静态绑定(编译时就判断)的方法。
---------------------示例代码----------------------------------------