2.6 多态

多态中成员函数的特点:

在编译时期,参阅引用型变量所属的类中是否有调用的方法,如果有,编译通过,如果没有编译失败。

在运行时期,参阅对象所属的类中是否有调用的方法。

 

解析说明:

如果Fu类中有method1和method2方法,Zi类中有method1和method3方法。

Fu f = new Zi;

f.method1();

f.method2();

f.method3();

编译失败。

因为Fu类中没有method3方法。

 

简单总结:成员函数在多态调用时,编译看左边,运行看右边。

 子类继承父类,Zi类中包含method1,method2,method3方法。

所以

Zi z = new Zi();

z.method1();

z.method2();

z.method3();

是可以运行的。

 

在多态中成员变量的特点:

无论编译和运行,都参考左边;

比如说:Fu类中定义了变量 x=8;

Zi类中也定义了变量x=6;

Zi类继承了Fu类。

Fu f = new Zi();

System.out.println(f.x);

结果为x=8;

在多态中,静态成员函数的特点:

无论编译和运行,都参考左边。父类走父类,子类走子类

posted @ 2018-07-27 10:42  小周末诞生  阅读(97)  评论(0)    收藏  举报