A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 695010894 中级黑马   /  2016-3-26 16:53  /  469 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多态:可以理解为事物存在的多种体现形态。比如
人:男人、女人;
动物:猫、狗;
猫 x = new 猫();
动物 x = new 猫();类型提升,向上转型.

学习过程:
1,多态的体现:
                父类的引用指向自己的子类对象
                父类的引用也可以接收自己的子类对象
2,多态的前提:
                必须是类与类之间有关系.要么继承要么实现.
                通常还有一个前提:存在覆盖.
3,多态的好处:
                多态的出现大大的提高了程序的扩展性.
4,多态的应用。

若想要子类的特有方法,使用向下转型:强制将父类的引用,转换成子类类型.
//千万不要将父类对象转成子类类型.我们能转换的是父类应用指向了
//自己的子类对象时,该应用可以被提升,也可以被强制转换.
//多态自始自终都是子类对象在做变化.

在多态中'非静态'成员函数的特点:
编译时期:参阅引用型变量所属的类是否有调用方法;如果有,则通过,没有则编译失败.
在运行时期:参阅对象所属的类中是否有调用方法.
简单总结:成员函数在多态调用时,编译看左边,运行看右边.

涉及面试:
在多态中成员变量的特点:输出重名变量时,无论是编译还是运行都参考左边.
在多态中静态成员函数特点:无论编译还是运行都参考左边.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马