问题1:这个过程叫做父类引用指向子类对象?为什么不叫做子类引用指向父类对象呢
问题2:子类继承父类可以使子类的功能更强大。而向上转型后父类也只能调用父类已经有的方法,而不能调用子類新增加的功能啊多态还有什么用呢?这一点也好理解子类知道哪个是他的父类,但父类不会知道哪个类是他的子类所以不能调用父类中没有的方法。
对于我上面的问题可不可以这么来解释:因为子类可以重写父类中的方法,向上转型时父类可以调用子类中重写過的方法,这样 间接的也扩充了父类的功能我这么理解对吗?
问题3:向下转型就是Amal a = new Cat(); Cat c = (Cat) a; 可不可以理解为:父类的对象强制转换成子类的类型(Cat型)然后赋给子类的对象,完成向下转型这样的话子类对象(c)既可以调用"吃"的功能,又能调用“叫”的功能这样也扩充了父类的功能。
鉯上是我看了一下午多态后自己的一点理解语言说的比较通俗吧。求大神看看我理解的有什么问题哪句话说的有问题。看我打了这么哆字您也别复制粘贴了,回答得好的小弟20分送上谢谢~!
再补充下:向下转型时,子类对象c调用的方法是父类的还是子类的呢?可能峩没写参数这个例子举的比不那么好。将就看下吧~