多态:父类的引用指向了子类的对象,多态必须存在继承或实现。
类似:Father f = new Son();
使用多态需要注意:
1.子父类存在同名的成员变量时,访问的是父类的成员变量。
2.子父类存在同名的非静态的成员函数时,访问的是子类的成员函数。
3.子父类存在同名的静态成员函数时,访问的是父类的成员函数。
4.父类不能访问子类的特有成员函数和成员变量。(向上转型导致丢失)。(编译看左边,运行不一定看右边)
编译看左边,java编译器在编译的时候,先检查左边的引用是否具备有需要执行的成员变量和成员函数,如果不存在,马上报错。
java一般都是后期绑定,但是static静态的变量在编译时就已经进行了绑定,也就是前期绑定。
原文:https://www.cnblogs.com/viceversa/p/10587550.html