Java中多态的弊端
要了解多态的弊端,我么首先要了解多态中遵循的一个规律
对于成员方法:编译看左边,运行看右边。
对于成员变量:编译运行都看左边。也就是成员变量没有多态特性。
静态方法和变量:编译运行都看左边,同成员变量一样。
由于成员方法的特性,在编译时编译器会查看左边有没有该方法,在运行时才会执行右边子类中的方法,因此,多态中的对象不能调用子类特有的方法,因为在编译的时候特有的方法是无法在左边也就是父类中找到的。
解决方法:将多态变回子类类型就可以了。
要了解多态的弊端,我么首先要了解多态中遵循的一个规律
对于成员方法:编译看左边,运行看右边。
对于成员变量:编译运行都看左边。也就是成员变量没有多态特性。
静态方法和变量:编译运行都看左边,同成员变量一样。
由于成员方法的特性,在编译时编译器会查看左边有没有该方法,在运行时才会执行右边子类中的方法,因此,多态中的对象不能调用子类特有的方法,因为在编译的时候特有的方法是无法在左边也就是父类中找到的。
解决方法:将多态变回子类类型就可以了。