多态,向上转型和向下转型

参考:https://blog.csdn.net/qq_31655965/article/details/54746235

这篇文章讲的很好,有以下几点总结:

1.向上转型

Father father = new Son();

father可以调用Son类中重写父类的方法,但不能调用Son类中其它方法;

优点:方法的形参是父类对象;调用方法时,传入的实参是子类对象,方法中的父类形参对象却可以访问子类中重写父类的方法;

缺点:父类还是不能访问子类自己的方法;

2.向下转型

Father father = new Son();  //要先向上转型

Son son =(Son) father; //再向下转型

优点:先通过向上转型,使子类对象得以以参数的形式传给方法,然后在方法中将父类对象再赋值给子类对象,这样就可以进一步实现多态,即在方法中自由访问子类自己的方法。

猜你喜欢

转载自blog.csdn.net/qq_22339269/article/details/82882843
今日推荐