多态的弊端:无法直接使用子类特有的成员变量和方法
需要向下转型
1、成员变量:编译和运行都看Fu。
但是f的Fu类函数被复写了。
2、非静态方法:编译看Fu,运行看Zi
对于静态方法:编译和运行都看Fu!!
其实很简单,首先我们要理解静态情况下发生了什么?当静态时,Fu类的所有函数跟随Fu类加载而加载了。也就是Fu类的函数(是先于对象建立之前就存在了,无法被后出现的Zi类对象所复写的,所以没发生复写,那么获得:
3、静态方法:编译和运行都看Fu。
多态的弊端:无法直接使用子类特有的成员变量和方法
需要向下转型
1、成员变量:编译和运行都看Fu。
但是f的Fu类函数被复写了。
2、非静态方法:编译看Fu,运行看Zi
对于静态方法:编译和运行都看Fu!!
其实很简单,首先我们要理解静态情况下发生了什么?当静态时,Fu类的所有函数跟随Fu类加载而加载了。也就是Fu类的函数(是先于对象建立之前就存在了,无法被后出现的Zi类对象所复写的,所以没发生复写,那么获得:
3、静态方法:编译和运行都看Fu。