1.Java多态(polymorphism)简述
生活中常有,同样的行为在不同的对象上会有不同的显示结果;而在Java中,多态意味着允许不同类的对象对同一消息做出不同的响应。
编译时多态:更多地通过同一个类中的方法重载体现(这个不是重点);
运行时多态:一般需要,满足继承关系、父类引用指向子类对象这两个必要条件;(一般所说的多态即运行时多态)。
2.多态演示实例:向上转型
向上转型:
下面如:Animal two = new Cat(),Animal父类引用指向了子类Cat类型的实例,即把一个子类对象转型为一个父类对象,称为向上转型。向上转型也可称为隐式转型、自动转型。
向上转型是由小向大转;
转型后的【two】可以调用子类重写父类的方法,以及子类继承的父类的其他方法;但无法访问子类新添的方法。
(20210708注:经过实测,父类变量指向子类引用后,其是不能调用父类的private私有方法的,因为子类不会获得父类的private私有方法。。。。自然,对于其他父类的、子类不能继承的东西来说,都是不可的)

注:

(20210708注:所以,应该能感觉到,【动态绑定机制】是java之所以能实现多态效果的,背后的支撑)




Comments:
(1)同一个父类的引用,如果指向不同的子类实例对象,就会调用不同子类中重写的方法。从而产生多态的效果。(20200914)
本文深入探讨Java中的多态概念,包括编译时多态与运行时多态的区别,重点讲解运行时多态的实现机制及向上转型的应用。通过实例演示,展示如何利用多态特性实现代码的灵活性和扩展性。
1215

被折叠的 条评论
为什么被折叠?



