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;
在多态中,静态成员函数的特点:
无论编译和运行,都参考左边。父类走父类,子类走子类

浙公网安备 33010602011771号