引用多态的父类引用可以指向子类的对象,如Animal obj2=new Dog();,和向上类型转换,如Animal animal=dog;,怎么区别?
引用多态与类型转换的区别
引用多态与类型转换的区别
2016-05-13
我也是初学者,三天前才开始看教程,我说下我的理解,你可以参考一下,不保证正确
多态就是指一个对象的多种状态,如,一条狗,你可以说它是一只动物,也可以说它是一只生物,狗、动物、生物都可以形容它,表示狗有以上三种(描叙)形态
再如,柏树,也可以说它是一种植物,一种生物,也是数的三种形态
向上级转换:一只狗可以说它是一只动物,一只生物
向下级转换:拿狗举列,生物 花狗=new 狗();定义了一只狗,但是它的类型是生物,虽然他是用狗()来实例化的,现在问题出来了,向下级转换是有风险的,你需要判断它到底是 什么类里的才可以转换为那个类,我们实例化的花狗(定义类型是生物)可以转换为动物、狗类型,但是不能转换为植物、柏树类型
举报