java多态思想会遇到的问题
-
编译时类型与运行时类型不一致的问题:多态的实现依赖于继承和方法重写,当方法被重写时,子类的方法会覆盖父类的方法,但是编译时只能确定引用变量的类型,而无法确定实际对象的类型,因此在运行时可能会出现编译时类型与实际运行时类型不一致的情况。
-
向下转型的异常问题:当使用多态时,如果将一个父类对象强制转换为子类对象时,如果该父类对象实际上不是该子类对象的实例,就会抛出ClassCastException异常。
-
多态的性能问题:由于多态的实现需要在运行时进行动态绑定,因此会带来一定的性能损失。尤其是在频繁调用的方法中,多态的性能问题会更加明显。
-
构造函数不能被重写的问题:由于构造函数不能被继承和重写,因此无法使用多态来创建对象,只能通过向上转型或者工厂方法来创建对象。
原文地址: https://www.cveoy.top/t/topic/eng4 著作权归作者所有。请勿转载和采集!