多态中各成员的特点

1,成员变量。
编译时:参考引用型变量所属的类中的是否有调用的成员变量,有,编译通过,没有,编译失败。
运行时:参考引用型变量所属的类中的是否有调用的成员变量,并运行该所属类中的成员变量。
简单说:编译和运行都参考等号的左边。
作为了解,一般用不着。面试用。
***注意:覆盖只发生在函数中,变量不存在覆盖。

2,***成员函数(非静态)。***
编译时:参考引用型变量所属的类中的是否有调用的函数。有,编译通过,没有,编译失败。
运行时:参考的是对象所属的类中是否有调用的函数。
简单说:编译看左边,运行看右边。(***先找子类,如果子类没有,再找父类)

因为成员函数存在覆盖特性。

 3,静态函数。

编译时:参考引用型变量所属的类中的是否有调用的静态方法。
运行时:参考引用型变量所属的类中的是否有调用的静态方法。
简单说,编译和运行都看左边(静态方法直接看哪个类调用的就好了,不存在覆盖。)

其实对于静态方法,是不需要对象的。直接用类名调用即可。

posted @ 2017-02-13 23:58  Kkky  阅读(974)  评论(0)    收藏  举报