多态成员访问的特点
Parent p = new Child();
成员变量
编译看左边(基类),运行看左边(基类);无论如何都是访问基类的成员变量。
成员方法
编译看左边(基类),运行看右边(派生类),动态绑定。
Static方法
编译看左边(基类),运行看左边(基类)。
只有非静态的成员方法,编译看左边,运行看右边。
这样,我们也可以得出多态的局限:
不能使用派生类特有的成员属性和派生类特有的成员方法。
多态成员访问的特点
Parent p = new Child();
成员变量
编译看左边(基类),运行看左边(基类);无论如何都是访问基类的成员变量。
成员方法
编译看左边(基类),运行看右边(派生类),动态绑定。
Static方法
编译看左边(基类),运行看左边(基类)。
只有非静态的成员方法,编译看左边,运行看右边。
这样,我们也可以得出多态的局限:
不能使用派生类特有的成员属性和派生类特有的成员方法。